我有一张桌子," person"代表父母和孩子(实际上有更多的列和名称实际上没有这样命名,但其余的信息和准确性并不相关)。
column2是对另一行中column1的ID的引用。
Column3是CHAR(1),用于确定此人是否处于活动状态。如果父母不是孩子,则孩子不能活动。
我需要编写一个触发器来更新子行第3列,当它的'父母已更新为' n'第3栏。
例如,
任何人都可以协助这背后的逻辑吗?我正在使用Microsoft SQL Server Management Studio 2008。
答案 0 :(得分:1)
使用更新触发器时,'inserted'表是更新的结果。在这种情况下,您需要:
这是一个简单的例子:
CREATE TRIGGER MyTrigger ON person
AFTER UPDATE
AS
UPDATE child
FROM inserted parent
INNER JOIN person child ON child.ParentID = parent.ID
SET child.active = 'n'
WHERE parent.active = 'n'
GO
我希望这有帮助!