什么是ms sql中来自oracle的等效锁

时间:2012-09-14 05:10:50

标签: sql-server locking

在Oracle中:

LOCK TABLE employees IN EXCLUSIVE MODE WAIT 10;

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

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

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

由于

1 个答案:

答案 0 :(得分:2)

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE 

BEGIN TRANSACTION

DELETE FROM employees .. 
INSERT INTO employees ... 

COMMIT TRANSACTION

delete语句将成功并以独占方式锁定表,否则将失败(如果另一个连接已经锁定了锁)。

顺便说一句,尝试避免这种极端独占锁定是一种好习惯。还有其他不太积极的隔离级别,您可能可以使用相同的结果。

请参阅SET TRANSACTION ISOLATION LEVEL