使用 DEALLOCATE COLLECTION 语句释放先前通过 ALLOCATE COLLECTION 语句分配的集合变量的内存。
该语句是 SQL ANSI/ISO 标准的扩展。在 ESQL/C 中使用此语句。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
variable | 标识要解除为其分配的内存的已归类的或未归类的集合变量的名称 | 必须是已分配的 GBase 8s ESQL/C 集合变量的名称 | 名称必须符合针对变量名称制定的语言特定规则 |
DEALLOCATE COLLECTION 语句释放与 variable 标识的 GBase 8s ESQL/C 集合变量相关联的所有内存。您必须使用 DEALLOCATE COLLECTION 显式地释放集合变量的内存资源。否则,解除分配会在程序结束时自动发生。
如果要解除分配一个不存在的集合变量或不是 GBase 8s ESQL/C 集合变量的变量,会导致错误。一旦解除分配一个集合变量,即可使用 ALLOCATE COLLECTION 来重新分配资源,然后重新使用一个集合变量。
EXEC SQL BEGIN DECLARE SECTION; client collection a_set; EXEC SQL END DECLARE SECTION; . . . EXEC SQL allocate collection :a_set; . . . EXEC SQL deallocate collection :a_set;
相关示例,请参阅相关的概念,插入集合游标。