我有一個關於觸發器的問題。 的情況是這樣的基本觸發器鎖定問題
Create Procedure
begin
Insert into XYZ (a) values (b)
end
現在我已經放在扳機上INSERT - AFTER上表XYZ。 在該觸發器存在業務邏輯這需要2-3秒來執行它,業務邏輯與其他數據庫表不是在XYZ表進行
所以我需要在這裏證實,一旦INSERT是已經完成,那麼表XYZ將準備好插入另一條記錄,否則它將被鎖定,直到觸發器完成?
編輯
我做了一些更多的研究這個問題,並解釋它下面 在INSERT - 觸發,我已經把我的業務邏輯,也低於線
WAITFOR DELAY '00:01'
現在當我嘗試執行上面的SP時,SP未完成1分鐘(因爲我已經指定了觸發器中1分鐘的延遲),並且在此期間表XYZ也被鎖定。
因此,這使我得出結論,即使您沒有在觸發器中使用同一個表,觸發器也會對錶進行LOCKS鎖定。我對嗎?有人在這裏有不同的觀點嗎?
你應該看看這裏:http://stackoverflow.com/questions/2606226/sql-server-2008-running-trigger-after-insert-update-locks-original-table – 2012-02-28 12:12:07