南大通用GBase8s 常用SQL语句(140)

1.1FREE 语句
使用 FREE 语句来释放那些分配给准备好的语句或分配给游标的资源。
语法
在这里插入图片描述

元素 描述 限制 语法
cursor_id 游标的名称 必须已经声明 标识符
cursor_id_var 持有 cursor_id 值的主变量 必须为字符数据类型 特定于语言
statement_id 准备好的 SQL 语句的标识符 必须在先前的 PREPARE 语句中定义 PREPARE 语句
statement_id_var 存储准备好的对象名称的主变量 必须声明为字符数据类型。 PREPARE 语句
用法
随同 GBase 8s ESQL/C 或随同 SPL使用此语句,这是对 SQL 的 ANSI/ISO 标准的扩展。
FREE 释放为准备好的语句或为游标分配的(ESQL/C 的)数据库服务器和应用开发工具。
如果您为准备好的语句声明游标,则 FREE statement_id(或 statement_id_var)仅释放应用开发工具中的资源;游标仍可使用。仅当释放游标时,才释放数据库服务器中的资源。
如果您准备了语句(但没有为它声明游标),则 FREE statement_id(或 FREE statement_id_var)释放在应用开发工具和数据库服务器中的资源。
在您释放语句之后,不可执行它或为它声明游标,直到您再次准备它。
下列 GBase 8s ESQL/C 示例展示那些用于释放隐式准备好的语句的语句序列:
EXEC SQL prepare sel_stmt from ‘select * from orders’;

EXEC SQL free sel_stmt;
下列 GBase 8s ESQL/C 示例展示那些用于释放显式准备好的语句的资源的语句序列。此示例中的第一个 FREE 语句释放游标。此示例中的第二个 FREE 语句释放准备好的语句。
sprintf(demoselect, “%s %s”,
"select * from customer ",
“where customer_num between 100 and 200”);
EXEC SQL prepare sel_stmt from :demoselect;
EXEC SQL declare sel_curs cursor for sel_stmt;
EXEC SQL open sel_curs;

EXEC SQL close sel_curs;
EXEC SQL free sel_curs;
EXEC SQL free sel_stmt;
如果您为准备好的语句声明游标,则释放游标仅释放数据库服务器中的资源。要为该语句释放应用开发工具中的资源,请使用 FREE statement_id(或 FREE statement_id_var)。如果未为准备好的语句声明游标,则释放它会释放应用开发工具和数据库服务器中的资源。要查看释放游标的 FREE 语句的 ESQL/C 示例,请参阅前面的示例。
释放游标之后,不可打开它直到再次声明为止。游标应在其被释放之前明确地关闭它。
在 SPL 例程执行完毕时,数据库服务器自动地释放例程中通过 PREPARE 或 DECLARE 语句已经分配给游标或准备好的语句的任何资源,如果这些资源尚未由 FREE 语句释放的话。
SPL 例程中的 FREE 语句不可引用 SPL 的 FOREACH 语句可声明的直接游标的 cursor_id。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值