【Trigger】判斷Trigger是Insert Update Delete行為
當 Insert 時,會將資料新增到資料表中外,在 INSERTED 中,也會保留資料。
當 Delete 時,會將資料從資料表中刪除外,也會將資料在 Deleted 中保留。
而 Update 時,是先將資料表中的資料先刪除再新增,所以在 INSERTED 中,會記錄新資料的記錄,而在 DELETED 會保留舊的記錄。
Sample Code:
CREATE TRIGGER dbo.TriggerName
ON dbo.TableName
AFTER INSERT,DELETE,UPDATE
AS
BEGIN
SET NOCOUNT ON;
if (Select Count(*) From inserted) > 0 and (Select Count(*) From deleted) = 0
begin
print ('新增')
end
if (Select Count(*) From inserted) = 0 and (Select Count(*) From deleted) > 0
begin
print ('刪除')
end
if (Select Count(*) From inserted) > 0 and (Select Count(*) From deleted) > 0
begin
print ('修改')
end
END
GO
參考資料:
http://technet.microsoft.com/zh-tw/library/ms189799.aspx
留言
張貼留言