编程技术分享平台

网站首页 > 技术教程 正文

PUT 和 FLUSH ——GBASE南大通用(flush)

xnh888 2024-11-05 12:55:02 技术教程 17 ℃ 0 评论


PUT 和 FLUSH之后的状态代码 ——GBASE南大通用

当程序执行 PUT 语句时,程序应测试是否成功地将该行放入缓冲区中。如果新的行适合 该缓冲区,则 PUT 的唯一操作就是将该行复制到缓冲区。在此情况下不可发生错误。

然 而,如果该行不适合,则为了插入将整个缓冲区负载传到数据库服务器,可发生错误。 返回到“SQL 通信区域”(SQLCA)内的值为程序提供它需要的信息,来整理每一种情况。 如果未发生错误,则在每个 PUT 语句之后,将 SQLCODE 和 SQLSTATE 设置为零,如 果发生错误,则设置为负的错误代码。

数据库服务器将 SQLERRD 的第三个元素设置为实际插入到表内的行数,如下

? 零,如果仅将新行移至缓冲区

? 缓冲区中的行数,如果插入缓冲区负载而未发生错误

? 错误发生之前插入了的行数,如果发生错误 请再次阅读代码来了解如何使用 SQLCODE(请参阅前面的示例)。首先,如果 OPEN 语 句发生错误,则由于 WHILE 条件失败,不执行该循环,则不执行 FLUSH 操作,且该事 务回滚。其次,如果 PUT 语句返回一个错误,则由于 WHILE 条件的缘故结束该循环, 不执行 FLUSH 操作,且该事务回滚。仅当该循环至少一次生成足够的行来填充缓冲区, 此条件才可发生。否则,PUT 语句不可生成错误。

程序可能结束该循环,而这些行还在缓冲区中,可能未插入任何行。此时,SQL 状态为零, 且发生 FLUSH 操作。如果 FLUSH 操作产生一错误代码,则该事务回滚。仅当成功地执 行所有操作,才提交该事务。——GBASE南大通用

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表