我想在更新表Y之后编写更新表X的触发器。
我试图搜索网络并编写一些代码,但没有。
目前我的代码是:
CREATE TRIGGER trg_Update_YCR_Status
ON dbo.tbl_YellowCard_Transactions
AFTER UPDATE,INSERT
AS
BEGIN
UPDATE dbo.tbl_YellowCard_Requests
SET YellowCard_Status =
END
我该怎么做?
答案 0 :(得分:1)
你有正确的想法。您只需在表Y上创建一个触发器,并对表X发出UPDATE
语句,就像您上面一样。
在SQL Server中,如果要将表X中的新值基于刚刚插入的值,则可以引用inserted
表,该表表示要添加或更新的数据。*例如:
UPDATE requests
SET requests.YellowCard_Status = inserted.YellowCard_Status
FROM dbo.tbl_YellowCard_Requests requests
JOIN inserted ON requests.FieldName = inserted.FieldName
我知道你可以在SQL Server中执行此操作。我不确定这是否适用于其他RDBMS。
*对于INSERT
语句,inserted表包含任何新行。对于UPDATE
语句,将有一个deleted
表包含旧数据和一个inserted
表,其中包含更新后的新数据。