返回首页

gbase数据、南大通用产品文档:GBase8sCOMMIT WORK 语句

更新日期:2024年09月11日

使用 COMMIT WORK 语句提交从事务开始时对数据库所作的全部修改。
语法

用法
COMMIT WORK 语句通知数据库服务器您到达了必须作为单个单元完成的一系
列语句的末尾。数据库服务器采取必需的步骤来确保事务做出的所有修改正确完
成且保存到磁盘。
当确定希望保留所有从事务开始起对其数据库所做的所有改变时,仅在带有事务
日志记录的数据库的多语句操作结束时使用 COMMIT WORK。
COMMIT WORK 语句释放所有行锁定和表锁定。
WORK 关键字在 COMMIT WORK 语句中是可选的。以下两条语句等价:
COMMIT;
COMMIT WORK;
以下示例显示了 BEGIN WORK 和 COMMIT WORK 语句所限制的事务。
BEGIN WORK;
DELETE FROM call_type WHERE call_code = 'O';
INSERT INTO call_type VALUES ('S', 'order status');
COMMIT WORK;
在此示例中,用户首先从 call_type 表中删除行,其中表的 call_code 列的值为
O 。用户然后在其中 call_code 列的值为 S 的 call_type 表中插入一个新的行。
数据库服务器保证两个操作同时成功或不成功。
在 GBase 8s ESQL/C 中,COMMIT WORK 语句关闭所有打开的游标(除了那些
使用 WITH HOLD 选项声明的游标。)

GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 192
在不兼容 ANSI 的数据库中发出 COMMIT WORK
在不兼容 ANSI 但支持事务日志记录的的数据库中,如果您用 BEGIN WORK 语
句启动事务,就必须在事务结束时发出 COMMIT WORK 语句。在这种情况下,
如果未能发出一个 COMMIT WORK 语句,则数据库回滚事务对数据库所做出的
任何修改。
然而,如果没有发出 BEGIN WORK 语句,每个语句会在自己的事务中执行。这
些单语句事务不需要 BEGIN WORK 语句或 COMMIT WORK 语句。
显式的 DB-Access 事务
当在不兼容 ANSI 但是支持事务日志记录的数据库中以交互方式使用 DB-Access
时,如果选择 Commit 菜单但是在 BEGIN WORK 语句启动事务以后没有发出
COMMIT WORK 语句,则 DB-Access 会自动地提交数据,但是会发出以下警
告:
Warning: Data commit is a result of unhandled exception in TXN PROC/FUNC
此警告是为了提醒您显式地发出 COMMIT WORK 以结束 BEGIN WORK 启动
的事务。
然而,在非交互方式中,如果没有发出 COMMIT WORK 语句就结束会话,则
DB-Access 将会回滚当前的事务。
在兼容 ANSI 的数据库中发出 COMMIT WORK
在兼容 ANSI 的数据库中,您不需要 BEGIN WORK 来标记事务的开始。您仅需
要标记每个事务的结束,因为事务总是有效的。新的事务在每个 COMMIT
WORK 或 ROLLBACK WORK 语句后自动启动。
然而,您必须发出显式 COMMIT WORK 语句来标记每个事务的结束。如果无法
这样做,数据库服务器回滚事务对数据库所做的任何修改。
然而在兼容 ANSI 的数据库中,如果在不发出 CLOSE DATABASE 、COMMIT
WORK 或 DISCONNECT 语句的情况下,便在非交互式方式下退出 DB-Access
而没有遇到错误,则数据库服务器自动提交任何打开的事务。


GBase 8s SQL 指南:语法
南大通用数据技术股份有限公司 193

如果您通过使用命令行脚本运行抽取应用程序来安装了 Client SDK,那么要卸
载服务器,就必须手动除去 GBase 8s 产品文件。
要手动除去文件,请以 root 用户身份,从 $GBASEDBTDIR 目录运行下列命令:
rm -rfproductfiles



GBase 8s 客户机产品安装指南
南大通用数据技术股份有限公司 - 41 -

4 在 Windows 上安装客户机产品
本节讨论了在 Windows 系统上安装 GBase 客户机产品的准备工作,并阐述了安装过程、
安装后的任务以及如何卸载这些产品。
要点: 本文档的以下主题说明如何使用独立的客户机安装应用程序,将 Client SDK 和
GBase
Connect 作为单独的产品进行安装。或者,也可以将 Client
SDK 或 GBase
Connect
作为 GBase8s 捆绑软件安装介质的一部分进行安装。捆绑软件同时包含 GBase8s 数据库
服务器和客户机产品。


GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
31