2011-12-13 66 views
3

觸發我的目標表(一個用於插入,一個用於更新)AFTER觸發器有兩個。 現在,如果我在目標表上執行合併,觸發器只執行一次。儘管合併語句執行大約300次更新和200次插入。合併聲明後對目標表

我打印語句檢查它在每個觸發器,由刪除,插入的記錄中獲取數據到變量之後。

怎麼回事?這是一個錯誤?

我的SQL Server 2008 SP1 STD(該SBS2k8的一部分)。

+0

作爲@ GBN的回答表明,觸發了整個語句運行一次,所以「從刪除,插入記錄中獲取數據到變量之後。」意味着你做錯了。在「插入」和「刪除」表中可以有*多個*行。對於'INSERT','UPDATE'和'DELETE'語句來說,這與'MERGE'一樣。 –

+0

因此,我必須檢查插入字段中的記錄數,並通過遊標來將每個更改插入到日誌表中?或者還有其他解決方案嗎? – pierre

+0

@pierre:不,只是在集合上工作 – gbn

回答