如果您正在将行插入到数据库内,且正在使用显式的事务,在使用 ROLLBACK WORK 语句来撤销 INSERT。如果您在 INSERT 之前未执行 BEGIN WORK,且 INSERT 失败,则数据库服务器自动地回滚从 INSERT 开始以来产生的任何数据修改。如果您正在使用显式的事务,且 INSERT 失败,则数据库服务器自动地撤销 INSERT 的影响。
在符合 ANSI 的数据库中,事务是隐式的,且所有数据库更改都发生在一个事务之内。在此情况下,如果 INSERT 语句失败,则使用 ROLLBACK WORK 语句来撤销这些插入。
您以 RAW 日志记录类型创建的表无日志记录。这样,即使数据库使用日志记录,原始表也是不可恢复的。
您以事务插入的那些行保持锁定,直到该事务结束为止。事务的结束,或是通过 COMMIT WORK 语句对数据库做出所有修改,或是通过 ROLLBACK WORK 语句对数据库不做任何修改。如果单个 INSERT 语句影响许多行,则您可超过允许的并发锁的最大数目。要防止出现此情况,或者每个事务少插入些行,或者在您执行 INSERT 语句之前锁定页面(或整个表)。