Sql server 设置一个SQL触发器以接管我的更新状态
Goodday我想做一个触发器来替换下面的这个TSQL查询。我在触发器底部的尝试无效。谢谢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
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