2011-10-26 44 views
0

我有表1它正在更新並通過sp的插入數據。檢測插入/更新是否來自另一個觸發器?

更新是按行的每個Id(而不是批量更新) - 我的意思是 - Single update

此表具有觸發器Tg1 - 它更新已更新的同一記錄中的某些字段。 (在數據庫更新紀錄後 - TG1更新她的一些字段)

I DONT HAVE ACCESS to TG1 !. 

這個表有其他觸發該香港專業教育學院建造TG2。 它通過SELECT * FROM DELETED ... and insert to table Archive...

問題存檔原來插入的記錄是TG2漁獲alsoTG1的事件! (其插入到存檔表3記錄insted的1.

問:反正是有(在TG2)要知道,從行動來Tg1的(這樣我就能夠避免這些事件 - 因爲我我怎樣才能解決只需要這些來自我的SP的事件。)

?(我沒有獲得TG1 ...)

+0

你的第一個問題是,假設觸發器shoujld永遠不會被寫入,只有一行將被插入/刪除/更改。 – HLGEM

+0

@HLGEM,我該如何解決? –

+0

要回答這個問題,我必須看到觸發器,但是,你不應該設置任何標量變量,而是使用基於集合的語句。並測試單個記錄更新和多個記錄的更新。 – HLGEM

回答

0

爲什麼你不希望最後存檔記錄,因爲它存在於表中嗎?

但是,您可以設置t嚴格的順序在您的觸發器上成爲第一個使用 sp_settriggerorder。在圖書在線查找如何做到這一點。

+0

非常感謝你,我將搜索訂單部分。附: :備份到另一個表用於版本控制...他們每次都需要快照:'1年前轉到 - 告訴我同一個記錄看起來像什麼樣......「 –