此语句用于描述 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/2003 核心 SQL 之外的 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]。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |