Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
描述 SQL 描述符区中的变量,并将数据放入描述符区。
SET DESCRIPTOR descriptor-name { COUNT = { integer | hostvar } | VALUE { integer | hostvar } assignment, ... }
assignment : { TYPE | SCALE | PRECISION | LENGTH | INDICATOR } = { integer | hostvar } | DATA = hostvar
descriptor-name : identifier
SET DESCRIPTOR 语句用于描述描述符区中的变量,并将数据放入描述符区。
SET ...COUNT 语句设置描述符区中描述的变量数。此数值不得超过分配描述符区时指定的变量数。
值 { integer | hostvar } 指定描述符区中要赋值的变量。
执行 SET ...DATA 时会进行类型检查,以确保描述符区中的变量类型与主机变量类型相同。LONG VARCHAR 和 LONG BINARY 不受 SET DESCRIPTOR ... DATA 支持。
如果发生错误,SQLCA 中会返回代码。
无。
SQL/2008 SET DESCRIPTOR 是可选 SQL/2008 语言功能 B031 "基本动态 SQL" 的一部分。
下面的示例设置 sqlda 中位置为 col_num 的列的类型。
void set_type( SQLDA *sqlda, int col_num, int new_type ) { EXEC SQL BEGIN DECLARE SECTION; INT new_type1 = new_type; INT col = col_num; EXEC SQL END DECLARE SECTION; EXEC SQL SET DESCRIPTOR sqlda VALUE :col TYPE = :new_type1; }
有关详细示例,请参见ALLOCATE DESCRIPTOR 语句 [ESQL]。