DEALLOCATE DESCRIPTOR 语句

使用 DEALLOCATE DESCRIPTOR 语句可释放先前分配的系统描述符区域。在 GBase 8s ESQL/C 中使用此语句。

语法

该语句是 SQL 语言的 ANSI/ISO 标准的扩展。

元素 描述 限制 语法
descriptor 系统描述符区域的名称 使用单引号。必须已分配系统描述符区域。 用引号括起的字符串
descriptor_var 包含系统描述符区域的名称的主变量 必须已分配系统描述符区域,并且必须已声明变量 名称必须符合特定于语言的规则

用法

DEALLOCATE DESCRIPTOR 语句会释放所有与 descriptor descriptor_var 标识的系统描述符区域相关联的内存。它也会释放所有项描述符(包括用于项描述符中的数据项的内存)。

您可以在解除分配之后重新使用描述符或描述符变量。否则,解除分配会在程序结束时自动发生。

如果对不存在的描述符或描述符变量执行解除分配操作,则会导致错误。

你不可以使用 DEALLOCATE DESCRIPTOR 语句解除对 sqlda 结构的分配。只可以用它释放为系统描述符区域分配的内存。

以下示例显示了有效的 DEALLOCATE DESCRIPTOR 语句。第一行使用了一个嵌入变量的名称,第二行使用了一个用引号引起的字符串以标识分配的系统描述符区域。
EXEC SQL deallocate descriptor :descname;

EXEC SQL deallocate descriptor 'desc1';