2014-09-04 179 views
0

我有兩個簡單的問題。SQL Server:原子觸發器

  1. 默認情況下,SqlServer觸發器是否爲原子狀態?
  2. 如何實現呢?

環境很簡單。我有兩個用戶(讓我們稱他們爲UserA和UserB)與兩個不同的連接到數據庫。兩個連接同時處於活動狀態。

當UserA在一個指定的表中插入一行時,會觸發一個觸發器(我們稱之爲TriggerAtomic)。我需要確保TriggerAtomic被觸發時,UserB不能執行任何事情,直到TriggerAtomic完成。顯然,在TriggerAtomic完成之前,不能執行其他觸發器,函數,過程...。

回答

2

在INSERT語句周圍放置一個事務,並在事後進行提交。 SQL觸發器在觸發它們的語句的事務中操作。

+0

完美^^感謝您的想法 – Rumpelstinsk 2014-09-05 06:46:02