COMMIT 语句
COMMIT 语句提供了一种同步对数据库记录的更改的方法,同时防止其他作业在执行 COMMIT 之前修改这些记录。 COMMIT 语句的格式为:
执行 COMMIT 语句时,对于自上一个落实边界以来的当前落实定义,对落实控制下的文件所做的所有更改都是永久的。 通过成功执行 ROLLBACK 或 COMMIT 语句来建立落实边界。 如果在当前作业中未发出 COMMIT 或 ROLLBACK ,那么作业中在落实控制下的任何文件的第一个 OPEN 将建立落实边界。 所有受承诺控制的文件都会被修改,而不仅仅是在发出 COMMIT 语句的 COBOL 程序中受承诺控制的文件。
执行 COMMIT 时,将释放自落实控制下的文件的最后一个落实边界以来由当前落实定义持有的所有记录锁定,并且这些记录变为可用。 可以在作业级别或激活组级别对落实控制进行作用域限定。 缺省情况下,将控制作用域落实到激活组。 当您的应用程序涉及在不同激活组中运行的非ILE COBOL 程序(如 CL 程序)时,这一点非常重要。
COMMIT 语句仅影响落实控制下的文件。 如果执行了 COMMIT 并且没有在落实控制下打开文件,那么 COMMIT 语句没有任何作用,并且没有建立落实边界。
COMMIT 语句 不:
- 修改任何文件的 I-O-FEEDBACK 区域
- 更改任何文件的文件位置指示符
- 设置任何文件的文件状态值。
有关承诺控制的更多信息,请参阅 IBM® Rational® Development Studio for i :ILE COBOL 程序员指南。
