以 EXECUTE 返回的 SQLCODE 值

如果准备好的语句在执行时未能访问任何行,则数据库服务器返回 SQLCODE(0) 值。

然而,对于多语句的准备好的对象,如果下列列表中的任何语句都未能访问行,则返回的 SQLCODE 值为 SQLNOTFOUND ( = 100)

在符合 ANSI 的数据库中,如果您准备并执行上述列表中任何语句,且未返回行,则返回的 SQLCODE 值为 SQLNOTFOUND ( = 100)

USING 子句

使用 USING 子句来指定要替代准备好的语句中的问号(?)占位符的值。在 EXECUTE 语句中提供在准备好的语句中替代问号(?)占位符的值,此操作有时称为 参数化 准备好的语句。
USING 子句
元素 描述 限制 语法
descriptor 标识系统描述符区域的带引号字符串 必须已经分配了系统描述符区域。使用单( ' )引号。 用引号括起的字符串
descriptor_var 标识系统描述符区域的主变量 必须已经分配了系统描述符区域 特定于语言
indicator_var 如果相应的 parameter_var 为 NULL 值,或如果发生截断,则收到返回码的主变量 不可为 DATETIME 或 INTERVAL 数据类型 特定于语言
parameter_var 主变量,其内容替代准备好的语句中的问号(?)占位符 必须为字符数据类型 特定于语言
sqlda_pointer 指向 sqlda 结构的指针,定义值的数据类型和内存位置,来替代准备好的对象中的问号(?)占位符 不可以美元符号($)或冒号( :)开头。动态的 SQL 需要 sqlda 结构 DESCRIBE INPUT 语句

这非常类似于 INTO 子句 的语法。

如果在运行时您直到要提供的参数的数量或其数据类型,则可在程序中将 EXECUTE 语句所需要的参数定义为主变量。

如果在运行时您不知道要提供的参数的数量,则可关联来自系统描述符区域或 sqlda 结构的输入值。这两种描述符结构都描述用以替代问号(?)占位符的一个或多个值的数据类型和内存位置。

1 GBase 8s 扩展