2014-07-11 67 views
0

我有一個INSTEAD OF UPDATE觸發器,用於檢查是否填充名爲deleted_date的列,如果是,則會執行操作。如何告訴INSTEAD OF UPDATE觸發器繼續並忽略我的語句?

一切都很好,直到我意識到,如果我嘗試更新任何其他數據我的觸發器運行,我的更新被忽略。

我在堆棧中找到的其他解決方案解釋了在將「插入」表加入之後,對原始表執行IF/ELSE,然後執行UPDATE。這將工作,但是,這也意味着如果我以任何方式修改表格列,我必須回去編輯我的觸發器。

有沒有辦法說ELSE CONTINUE DEFAULT ACTION從根本上說,「離開這個觸發和更新,你會在第一時間已經正常完成記錄」

+0

你使用的是mysql還是sql server? –

+0

編輯顯示「MS-SQL 2008」。 –

回答

2

如果總是希望更新的情況發生,並有時需要一些額外的處理的情況發生,你可以使用變更使用AFTER觸發(除非你使用視圖)。否則,您需要在觸發器內執行更新語句。

1

號當,而不是更新觸發器被觸發,你不能返回到默認操作。在表中的數據的任何更新必須由觸發邏輯進行