0

这是我的桌子:

报告表:

ReportID    Status
1           'out'
2           null

日志表

LogID       Status      ReportID
1           'out'       1

当我在日志表中插入一条新记录时,我想要一个触发器来更新相应的状态字段。示例:插入到日志 (LogID=2, Status='out', ReportID=2) 我想为 Status 的匹配 ReportID(2) 字段更新报告表,以便它们匹配。

输出最终会是这样;报告表:

ReportID    Status
1           'out'
2           'out'     //changed from null to out by the Log trigger

日志表

LogID       Status      ReportID
1           'out'       1
2           'out'       2

这里的问题是,当第一个表有新插入或更新现有记录时,如何创建触发器来更新第二个表?

4

1 回答 1

3

我想你可能正在寻找这样的东西:

create trigger updatereport on log 
after insert, update
as
update r
set status = i.status
from report r 
  inner join inserted i on r.reportid = i.reportid;

SQL 小提琴演示

于 2013-04-22T01:46:13.707 回答