带有事务日志记录的数据库

如果您以事务日志记录创建的数据库,则 LOCK TABLE 语句成功,仅当在事务之内执行它。在您可执行 LOCK TABLE 语句之前,必须发出 BEGIN WORK 语句。

在符合 ANSI 的数据库中,事务是隐式的。如果指定的表尚未被另一进程锁定,则 LOCK TABLE 语句成功。

下列准则适用于在事务内使用 LOCK TABLE 语句:
下列示例展示如何在以事务日志记录创建了的数据库中更改表的锁定模式:
BEGIN WORK;
LOCK TABLE orders IN EXCLUSIVE MODE;
 ...
COMMIT WORK;
BEGIN WORK;
LOCK TABLE orders IN SHARE MODE;
 ...
COMMIT WORK;  
警告: 建议您在事务中不要使用无日志记录的表。如果您需要在事务中使用无日志记录的表,或在排他模式下锁定该表,或设置隔离级别为 Repeatable Read,以防并发问题。