我認爲「刪除後」意味着觸發器不會被解僱,直到刪除已經發生之後,但這裏是我的情況...刪除後刪除觸發器只會觸發嗎?
我在C#中刪除觸發器後發了3個幾乎相同的SQL CLR,其中工作了一個月左右的精美。突然之間,三個中的一個停止工作,同時在其上運行自動刪除工具。
停止工作,我的意思是,記錄不能通過客戶端軟件從表中刪除。禁用觸發器會導致刪除被允許,但重新啓用它會干擾刪除的能力。
所以我的問題是'這怎麼可能是這種情況?'是否有可能在其上使用的工具破壞了內存?它似乎即使觸發器拋出一個異常,如果它是刪除後,不應該記錄消失?
所有觸發看起來是這樣的:
ALTER TRIGGER [sysdba].[AccountTrigger] ON [sysdba].[ACCOUNT] AFTER DELETE AS
EXTERNAL NAME [SQL_IO].[SQL_IO.WriteFunctions].[AccountTrigger]
GO
的CLR觸發做一個選擇,一個插入到另一個數據庫。我還不知道SQL Server Mgmt Studio是否有任何錯誤,但在我發現後會更新這個問題。
UPDATE:
好以後再執行上述相同的觸發代碼,一切再次工作,所以我可能永遠不會知道任何錯誤SSMS會給什麼。
另外,在觸發器代碼中的任何地方都沒有回調。
是的,我知道您可以回滾事務,但我沒有回滾它?有沒有這種情況會自動發生? – Brandi 2010-05-05 14:57:05
是的,請參閱附加代碼 – SQLMenace 2010-05-05 15:11:06
非常感謝。 :) – Brandi 2010-05-05 15:12:56