Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (P-Z)

 

SET DESCRIPTOR 语句 [ESQL]

此语句用于描述 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]