Триггер SQL Server FOR DELETE не работает при внутреннем соединении с каскадными ключами - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть таблица PK / FK ниже, которая называется Родитель и ребенок.Родитель при удалении будет каскадировать и удалять потомков.Когда сначала удаляется Child, должен сработать триггер - не так ли?Я не могу заставить мое объединение работать, и я предполагаю, что строка родительской таблицы уже пропала.Как я могу сделать это?Я уже добавил это и в родительскую таблицу.

ALTER TRIGGER [ChildDelete]
ON [Child]
FOR DELETE
AS
    SET NOCOUNT ON;

    INSERT INTO StreamingJob(EventId, GameId, [Type], StreamingId)
        SELECT d.EventId, NULL, 3, g.StreamingId 
        FROM [Parent] g 
        INNER JOIN Deleted d ON g.Id = d.Id
        WHERE g.StreamingId IS NOT NULL
...