GBase8s数据库FLUSH 语句

这篇博客介绍了在GBase8s ESQL/C中如何使用FLUSH语句来强制将PUT语句缓存的行写入数据库。在执行一系列PUT操作后,使用FLUSH能确保数据即时更新,即使在缓冲区未满的情况下。示例代码展示了在处理游标时如何使用FLUSH配合PUT进行数据插入,并在操作完成后提交或回滚事务。
摘要由CSDN通过智能技术生成

使用 FLUSH 语句来将 PUT 语句缓冲的行强制写到数据库

用法

随同 GBase 8s ESQL/C 使用此语句,这是对 SQL 的 ANSI/ISO 标准的扩展。

PUT 语句添加行到缓冲区,在缓冲区变满时,将缓冲区的内容写到数据库。在缓冲区未满时,使

用 FLUSH 语句来强制插入。

如果程序终止而未关闭该游标,则缓冲区保持为未刷新。从上一次刷新丢失起,将行放入缓冲区

内。不要预期程序结束会自动地关闭游标并刷新缓冲区。下列示例展示操作名为 icurs 的游标的

FLUSH 语句:

FLUSH icurs

示例

下列示例假设名为 next_cust 的函数返回有关新客户的信息,或返回空数据表示输入结束:

EXEC SQL BEGIN WORK;

EXEC SQL OPEN new_custs;

while(SQLCODE == 0)

{

next_cust();

if(the_company == NULL)

break;

EXEC SQL PUT new_custs;

}

if(SQLCODE == 0) /* if no problem with PUT */

{

EXEC SQL FLUSH new_custs;

/* write any rows left */

if(SQLCODE == 0) /* if no problem with FLUSH */

EXEC SQL COMMIT WORK; /* commit changes */

}

else

EXEC SQL ROLLBACK WORK; /* else undo changes */

此示例中的代码重复地调用 next_cust。在返回非空数据时,PUT 语句将返回值发送到行缓冲区。

在缓冲区填满时,自动地将缓冲区包含的那些行发送到数据库服务器。在 next_cust 不再有数据

返回时,循环正常结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值