我想编写在表 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
我该怎么做?
我想编写在表 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
我该怎么做?
你有正确的想法。您只需在表 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
语句,插入的表包含任何新行。对于一条UPDATE
语句,将有一个deleted
包含旧数据的inserted
表和一个包含作为更新结果的新数据的表。