Нужна помощь с триггером обновления t-sql - PullRequest
0 голосов
/ 14 марта 2011

Как создать триггер при обновлении в транзакции SQL, чтобы установить другое поле в обновленной строке? Например:

UPDATE table SET true_false = 1 WHERE ID = @ID

запустит команду:

UPDATE table SET date = GETDATE() WHERE ID = @ID

. Пожалуйста помоги. Я не могу понять это;)

1 Ответ

3 голосов
/ 14 марта 2011

Имейте в виду, что вы всегда должны допускать возможность многострочных обновлений в любом написанном вами триггере.

create trigger tr_U_YourTable
on YourTable
for Update
as
begin
    if update(true_false)
        update yt
            set date = getdate()
            from Inserted i
                inner join Deleted d
                    on i.ID = d.ID
                inner join YourTable yt
                    on i.ID = yt.ID
            where coalesce(i.true_false,0) <> coalesce(d.true_false,0)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...