2012-09-14 46 views
1

在Oracle是:什麼是Oracle相當於鎖定在MS SQL

LOCK TABLE employees IN EXCLUSIVE MODE WAIT 10; 

員工表我要做的首先刪除,然後再插入。

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

什麼是MS SQL服務器中的LOCK等效語句?

感謝

回答

2
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE 

BEGIN TRANSACTION 

DELETE FROM employees .. 
INSERT INTO employees ... 

COMMIT TRANSACTION 

無論delete語句會成功,獨佔方式鎖定表,否則就會失敗(如果鎖已被另一個連接持有)。

順便說一句,嘗試和避免這種極端排他鎖定是一個很好的做法。還有其他較不積極的隔離級別,您可能可以使用相同的結果。

SET TRANSACTION ISOLATION LEVEL

+0

和'SET LOCK_TIMEOUT 10000'首先爲'WAIT 10' –

+0

好一點:錯過了。 –