# [SQL Server]判斷觸發程序 ###### tags: `SQL Server` `SQL` `database` > [time= 2019 11 07 ] > 原文 & 參考: > https://dotblogs.com.tw/dc690216/2009/09/10/10553 <br> 當 Insert 時,除了將資料新增到資料表中外,在 INSERTED 中,也會保留資料。 Delete 時,也會將資料在 Deleted 中保留。 Update 的運作,是先將資料表中的資料先刪除再新增,所以在 INSERTED 中,會記錄新資料的記錄,而在 DELETED 會保留舊的記錄。 所以,應該就了解要如何判斷,現在的 Trigger 是在 Insert、Update 或 Delete 了。 ```sql= CREATE TRIGGER dbo.使用者資料觸發程序 ON dbo.使用者資料 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 ``` <br> 取得最新增加到該資料表欄位的資料 則用以下的語法 ```sql= select 欄位名稱 from Inserted ```