Sql server 设置一个SQL触发器以接管我的更新状态

Sql server 设置一个SQL触发器以接管我的更新状态,sql-server,tsql,triggers,Sql Server,Tsql,Triggers,Goodday我想做一个触发器来替换下面的这个TSQL查询。我在触发器底部的尝试无效。谢谢 UPDATE Diary SET CasualLeaveTaken = 1 WHERE (DaysActivity = N'casual leave')and (CasualLeaveTaken =0) 取代 CREATE TRIGGER dbo.tgr_update_casualLeave ON dbo.diary AFTER INSERT, UPDATE

Goodday我想做一个触发器来替换下面的这个TSQL查询。我在触发器底部的尝试无效。谢谢

UPDATE    Diary
SET             CasualLeaveTaken = 1   
WHERE     (DaysActivity = N'casual leave')and (CasualLeaveTaken =0)
取代

CREATE TRIGGER dbo.tgr_update_casualLeave ON dbo.diary
AFTER INSERT, UPDATE 
AS
BEGIN --Trigger

IF UPDATE(DaysActivity) = 'casual leave'  
BEGIN
  UPDATE Diary SET
  CasualLeaveTaken = 1       
  WHERE
 and (CasualLeaveTaken =0)


    DayID IN (SELECT Inserted.DayID 
           FROM Inserted LEFT JOIN Deleted ON Inserted.DayID = Deleted.DayID
           WHERE COALESCE(Inserted.DaysActivity, '') <> COALESCE(Deleted.DaysActivity, ''))
END

END --Trigger

未选中,但应如下所示:

CREATE TRIGGER dbo.tgr_update_casualLeave ON dbo.diary 
FOR INSERT, UPDATE  
AS 
BEGIN --Trigger 

IF UPDATE(DaysActivity)    
  UPDATE Diary
  SET CasualLeaveTaken = 1        
  FROM Diary D INNER JOIN inserted ON D.DayId = inserted.DayId 
  WHERE 
 (D.CasualLeaveTaken =0) and (D.DaysActivity = 'casual leave') 
END --Trigger