【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

留言

這個網誌中的熱門文章

【ASP】日期轉換(西元<-->民國)

【VB】使用NPOI元件來匯出Excel--DataTableToExcel

【SQL】符號切割字串變成多欄