我正在尝试在父表和子表之间的关系上创建自定义删除规则。我想要做的是,如果孩子的列'IsActive'设置为false,则对子项应用级联删除,如果此列设置为true,则应用'NoAction'规则。我怎么能这样做?
答案 0 :(得分:2)
根据你的评论,你可以在你的桌子上写一个类似这样的触发器:
CREATE TRIGGER tr_ParentTable_Update
ON ParentTable
FOR INSERT, UPDATE
AS
BEGIN
IF UPDATE(IsDeleted) BEGIN
DELETE FROM ct
FROM inserted i
INNER JOIN ChildTable ct
ON i.ID = ct.ParentID
AND ct.IsActive = 0
WHERE i.IsDeleted = 1
END /* IF */
END /* Trigger */