EXECUTE IMMEDIATE 和限制性语句

不可跟在下列 SQL 语句之后执行 EXECUTE IMMEDIATE 语句。 对于 EXECUTE PROCEDURE,该限制仅引用与返回一个或多个值的调用。

EXECUTE IMMEDIATE 支持作为语句文本的唯一的 SELECT 语句形式为 SELECT ... INTO TEMP table。要了解 SELECT 语句中 INTO TEMP table 子句的语法,请参阅 INTO table 子句

此外,ESQL/C 不可使用 EXECUTE IMMEDIATE 语句来执行包含由分号分隔的多个 SQL 语句的文本中的下列语句: EXECUTE IMMEDIATE 语句不可处理包括问号(?)符号作为占位符的 SQL 语句文本。请使用 PREPARE 语句和或者游标或者 EXECUTE 语句来执行动态构建的 SELECT 语句。

(在 SPL 例程中,EXECUTE IMMEDIATE 语句仅可执行单个 SQL 语句。如果紧跟在 IMMEDIATE 关键字后的参数赋值为多个 SQL 语句的列表,或为 NULL 值,或为非有效 SQL 语句的文本,则数据库服务器发出运行时错误。)