使用 ALLOCATE COLLECTION 语句为集合数据类型的变量(例如 LIST 、MULTISET 或 SET )或未归类的集合变量分配内存。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
variable | 要分配的已归类的或未归类的集合变量的名称 | 必须为未分配的 GBase 8s ESQL/C 集合类型主变量 | 特定于语言的名称规则 |
该语句是 SQL ANSI/ISO 标准的扩展。在 ESQL/C 中使用此语句。
ALLOCATE COLLECTION 语句为可以存储 collection 数据类型的值的 ESQL/C 变量分配内存。
要为 GBase 8s ESQL/C 程序创建集合变量:
集合变量可以是已归类或未归类的集合变量。
如果分配内存成功,ALLOCATE COLLECTION 语句会将 SQLCODE (也就是 sqlca.sqlcode)置零(0);如果失败,会将其设置成一个负数错误码。
EXEC SQL BEGIN DECLARE SECTION; client collection a_set; EXEC SQL END DECLARE SECTION; . . . EXEC SQL allocate collection :a_set;
EXEC SQL BEGIN DECLARE SECTION; client collection set(integer not null) a_typed_set; EXEC SQL END DECLARE SECTION; . . . EXEC SQL allocate collection :a_typed_set;