GBase8s数据库ALLOCATE ROW 语句介绍

使用 ALLOCATE ROW 语句为 row 变量分配内存。该语句是 SQL ANSI/ISO 标准的扩展。在 ESQL/C 中使用此语句。

语法

 

用法

ALLOCATE ROW 语句为存储 row 类型数据的主变量分配内存。要创建 row 变量,ESQL/C 程序必须执行以下操作: 

1. 声明 row 变量。row 变量可以是已归类或未归类的 row 变量。

2. 使用 ALLOCATE ROW 语句为 row 变量分配内存。

以下示例显示如何使用 ALLOCATE ROW 语句为已归类的 row 变量 a_row 分配资源: 

EXEC SQL BEGIN DECLARE SECTION; 

row (a int, b int) a_row; 

EXEC SQL END DECLARE SECTION; 

. . . 

EXEC SQL allocate row :a_row; 

如果内存分配操作成功,则 ALLOCATE ROW 语句会将 SQLCODE (sqlca.sqlcode 的内容)置 零(0);如果分配失败,会将其设置为一个负的错误码。

您必须使用 DEALLOCATE ROW 语句显示地释放内存。一旦您使用 DEALLOCATE ROW 语句释放了该 row 变量,您就可以重新使用该 row 变量。 

提示: ALLOCATE ROW 语句仅为 GBase 8s ESQL/C row 变量分配内存。要为 GBase 8s ESQL/C collection变量分配内存,请使用 ALLOCATE COLLECTION 语句。 

当您在多次函数调用中使用同一 row 变量而未对其解除分配时,会导致客户机计算机上的内存泄露。因为没有办法确定指针在传递时是否是有效的,所以 GBase 8s ESQL/C 会假设它是无效的并将其分配到新的内存位置。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值