是否存在觸發器未被觸發的任何條件?SQL觸發器不起作用
我們有這樣的情況:
我們有一個表,但是也有一些被刪除的行。我們需要知道這些行被刪除的人和/或時間。
我們創建這個觸發器:
ALTER TRIGGER [dbo].[AUDITdel_nit] ON [dbo].[Client]
FOR DELETE
AS
Insert into AUDIT select 'Delete', getdate(), 'Row Deleted', SYSTEM_USER, host_name(),
(select 'ID Client: ' + convert(varchar(12),Id) from deleted), 'Client' ,APP_NAME()
我們做了一些測試:通過存儲過程刪除行和刪除的行出現在我們的審計表。
但是今天突然發現一列被刪除,它不會出現在審計表...
任何想法可能是錯誤的?
什麼DBMS是你嗎? – Nishant 2011-02-28 15:25:57
您使用的是什麼RDMS(它看起來像給予「GETDATE()」調用的SQL Server)。 – RQDQ 2011-02-28 15:26:36
這不是你的問題的原因,但當前的觸發代碼不帶多行刪除處理(他們會導致您的觸發一個錯誤,那麼這將回滾的變化) – 2011-02-28 15:30:08