语句块的图表涉及这一节的内容。大多数 SQL 语句在 SPL
语句块中有效,除了以下列出的语句。下列
SQL 语句在 SPL 语句块中无效:
- CLOSE DATABASE
- CONNECT
- CREATE DATABASE
- CREATE FUNCTION
- CREATE FUNCTION FROM
- CREATE PROCEDURE
- CREATE PROCEDURE FROM
- CREATE ROUTINE FROM DATABASE
- DISCONNECT
- EXECUTE
- FLUSH
- INFO
- LOAD
- OUTPUT
- PUT
- RENAME DATABASE
- SET AUTOFREE
- SET CONNECTION
- UNLOAD
- UPDATE STATISTICS
例如,您不能在 SPL 例程中关闭数据库或连接新的数据库。同样,您不能在同一例程中删除当前 SPL 例程。然而,您可以删除另一个 SPL 例程。
只能在两种情况下使用 SELECT 语句:
- 可以使用 INTO TEMP 子句把 SELECT 语句的结果放进一个临时表。
- 可以使用 SELECT 语句的 SELECT ... INTO 形式把结果值放进 SPL 变量。
当在 SELECT ... INTO TEMP 或 SELECT ... INTO variable 语句中包含 ORDER BY
子句时,这表示此查询返回多行。如果您指定没有 FOREACH 循环的 ORDER BY 子句来在 SPL 例程中单独处理返回的行,那么数据库服务器会发出错误。