Определить пользовательское правило удаления для отношений «Родитель-ребенок» - PullRequest
3 голосов
/ 06 октября 2010

Я пытаюсь создать пользовательское правило удаления для отношений между родительской и дочерней таблицами.Я хотел бы применить каскадное удаление к дочернему элементу, если для дочернего столбца IsActive установлено значение false, и применить правило «NoAction», если для этого столбца установлено значение true.Как я могу это сделать?

1 Ответ

2 голосов
/ 06 октября 2010

Исходя из ваших комментариев, вы можете написать триггер на вашей таблице, который будет выглядеть примерно так:

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 */
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...