SQL 语句在 SPL 语句块中有效

语句块的图表涉及这一节的内容。大多数 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 例程中单独处理返回的行,那么数据库服务器会发出错误。

如果后面 SPL 例程要作为数据操纵语言(DML)语句的一部分被调用,还有附加的限制。有关更多信息,请参阅在数据操纵语句中 SPL 例程的限制