1

在 Oracle 中是:

LOCK TABLE employees IN EXCLUSIVE MODE WAIT 10;

在员工表上,我必须先删除然后插入。

LOCK TABLE employees ..
DELETE FROM employees ..
INSERT INTO employees ...

ms sql server中LOCK的等效语句是什么?

谢谢

4

1 回答 1

2
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE 

BEGIN TRANSACTION

DELETE FROM employees .. 
INSERT INTO employees ... 

COMMIT TRANSACTION

delete 语句要么成功并以独占方式锁定表,要么失败(如果锁已被另一个连接持有)。

顺便说一句,尝试避免这种极端的独占锁定是一种很好的做法。您可能可以使用其他不太激进的隔离级别来获得相同的结果。

请参阅设置事务隔离级别

于 2012-09-14T05:14:01.970 回答