使用 BEGIN WORK 语句来启动事务(COMMIT WORK 或 ROLLBACK WORK 语句终止的一系列数据库操作,数据库服务器将其作为单个工作单元)。该语句是 SQL ANSI/ISO 标准的扩展。
BEGIN WORK 语句只在支持事务日志记录的数据库中有效。该语句在 ANSI 兼容的数据库中无效。
在事务锁定期间 UPDATE 、DELETE 、INSERT 或 MERGE 语句影响的每行将在整个事务中保持锁定。包含许多这样的语句的事务或包含影响许多行的语句的事务,可超过您的操作系统或数据库服务器对同步锁定数目施加的限制。
BEGIN; BEGIN WORK;
在读取 SQL 源代码时忽略 WORK 关键字,不要混淆 SQL 的 BEGIN 语句和 SPL 关键字 BEGIN ,它们和 END 关键字一起可用于 SPL 例程内定义语句块的分隔符。
在 GBase 8s ESQL/C 中,如果在 WHENEVER 语句调用的 UDR 中使用 BEGIN WORK 语句,则应在 ROLLBACK WORK 语句之前指定 WHENEVER SQLERROR CONTINUE 和 WHENEVER SQLWARNING CONTINUE 。如果 ROLLBACK WORK 语句碰到错误或者警告,则这些语句可防止程序发生无限循环。