【发布时间】:2013-04-22 01:27:40
【问题描述】:
这是我的桌子:
报告表:
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
这里的问题是,当第一个表有新插入或更新现有记录时,如何创建触发器来更新第二个表?
【问题讨论】:
-
为什么不直接使用视图?
-
@lc。 - 这里的视图对 OP 有什么作用?我真的很好奇,没有做出聪明的评论:)
-
@Tim 我正在阅读这个问题,并猜测 OP 希望报告表根据日志表中的行显示最新状态。因此,我质疑是否需要非规范化并将相同的数据存储在两个不同的地方。
-
@lc。 - 喔好吧。我知道你要去哪里。感谢您的回答-我在那里挠头。您应该将其发布为解决 OP 问题的替代方法,因为未来其他人可能更喜欢它而不是触发器,具体取决于要求。
标签: sql sql-server-2008 triggers