繁体   English   中英

SQL Server更新或插入时触发

[英]SQL Server Trigger On Update or Insert

这是我的桌子:

报告表:

ReportID    Status
1           'out'
2           null

日志表

LogID       Status      ReportID
1           'out'       1

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

输出最终将像这样; 报告表:

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

日志表

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

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

我认为您可能正在寻找这样的东西:

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小提琴演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM