DESCRIBE INPUT 语句

使用 DESCRIBE INPUT 语句可在执行一个准备好的语句之前返回输入参数信息。

在 ESQL/C 中使用此语句。

语法

元素 描述 限制 语法
descriptor 系统描述符的名称 必须已分配系统描述符区域 用引号括起的字符串
descriptor_var 指定系统描述符区域的主变量 必须包含分配的系统描述符区域的名称 特定于语言的名称规则
sqlda_pointer 指向一个 sqlda 结构 不可以美元符号($)或冒号(: )开始。如果使用动态的 SQL ,则 sqlda 结构是必需的 请参阅 GBase 8s ESQL/C 程序员手册 中的 sqlda 结构
statement_id 准备好的 SQL 语句的语句标识符 必须在先前执行的 PREPARE 语句中定义 PREPARE 语句PREPARE 语句标识符
statement_var 包含 statement_id 的值的主变量 变量和 statement_id 都必须声明 特定于语言的名称规则

用法

DESCRIBE INPUT 和 DESCRIBE OUTPUT 语句可以将有关准备好的语句的信息返回到 SQL 描述符区域(sqlda):
  • 对于 SELECT 、EXECUTE FUNCTION (或 PROCEDURE)、INSERT 或 UPDATE 语句,DESCRIBE 语句(不带 INPUT 关键字)返回返回值的数目、数据类型和大小以及列或表达式的名称。
  • 对于 SELECT 、EXECUTE FUNCTION 、EXECUTE PROCEDURE 、DELETE 、INSERT 或 UPDATE 语句,DESCRIBE INPUT 语句返回准备好的语句的所有输入参数。
提示: 考虑到程序同旧应用程序的兼容性,当前版本支持不带 INPUTDESCRIBE 语句。在新的应用程序中,您应当使用 DESCRIBE INPUT 语句来提供有关 WHERE 子句、子查询以及其它语法上下文动态参数的信息,这些都是在旧格式的 DESCRIBE 中无法提供的信息。

使用此信息,您可以编写代码来分配内存,从而控制那些在取得之后可以显示或处理的检索到的值。

在使用 DESCRIBE INPUT 获取有关 UPDATE 语句的信息时,不需要设置 IFX_UPDDESC 环境变量。

1 GBase 8s 扩展