需要在刪除時運行的觸發器。 我寫的代碼不起作用:它觸發了觸發器,但沒有插入任何記錄。刪除觸發器不插入記錄
我希望它在審計表中插入要刪除的行。
我的代碼:
CREATE TRIGGER [EXERCISE].[delete_trigger] ON [EXERCISE].[Fact_Sales]
AFTER DELETE
AS
INSERT INTO [EXERCISE].[Fact_Sales_Audit](City_ID,Product_ID,Time_ID,Created_Date,Updated_Date)
SELECT F.City_ID,F.Product_ID,F.Time_ID,F.Created_Date,F.Updated_Date
FROM [EXERCISE].[Fact_Sales] F
JOIN deleted D
ON F.Fact_Sales_ID = D.Fact_Sales_ID
PRINT 'Deleted row entered.'
這是行不通的。我懷疑的原因是 - 在觸發器被觸發之前該行將被從表中刪除,這就是爲什麼它無法加入並因此不能插入任何記錄。但是,當我調試和打印消息時,我可以看到觸發發生在刪除之前。
有人能解釋我這個觸發器到底有多準確嗎?
如果你想confrm可以觸發轉換爲dellete之前執行,如果該行不獲取插入東陽的原因,你說,這將被插入即可。 – learningNew