1

我想编写在表 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

我该怎么做?

4

1 回答 1

2

你有正确的想法。您只需在表 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表和一个包含作为更新结果的新数据的表。

于 2013-02-26T13:55:22.860 回答