我想知道執行語句和觸發第一個AFTER觸發器之間的時間延遲。由於併發原因,在查詢完成後,我將對datetime2字段進行簡單更新。 INSTEAD OF觸發器是我的第一選擇,但SELECT INTO不適用於SQL Azure。SQL Server - 執行順序/ AFTER TRIGGER
我期待,以找出是否有可能之前AFTER觸發器開始執行它們檢索行,如果是這樣,這是什麼情況發生的重負載下的機會呢?
我想知道執行語句和觸發第一個AFTER觸發器之間的時間延遲。由於併發原因,在查詢完成後,我將對datetime2字段進行簡單更新。 INSTEAD OF觸發器是我的第一選擇,但SELECT INTO不適用於SQL Azure。SQL Server - 執行順序/ AFTER TRIGGER
我期待,以找出是否有可能之前AFTER觸發器開始執行它們檢索行,如果是這樣,這是什麼情況發生的重負載下的機會呢?
這樣沒有延遲。觸發器是交易/聲明的一部分。
此外,你必須inserted和deleted包含更改的數據的特殊表:無需查詢的實際表中的觸發器
編輯
最後,如果是在列的默認,然後您可以使用此
UPDATE
SomeTable
SET
foo = ...,
bar = ...,
TheDateTime2Column = DEFAULT -- this
WHERE
...
沒有預定義的延遲,但如果你是在兩個地方調用GETDATE()你可能會得到不同的結果,早晚,取決於硬件,數據量和tr的複雜性iggers。
要確保你不讀髒或不一致的數據,你應該明智地使用事務隔離級別,根據你所需要的類型的數據訪問。
由於該行仍然沒有承諾,我懷疑另一個交易將能夠看到它。 – 2013-05-03 12:04:22