MS SQL Server 2008 изменяет значение вставленной строки в триггере - PullRequest
3 голосов
/ 29 апреля 2011

В Oracle я могу изменить значение строки следующим образом: new.column_name = new_value в триггере вставки / обновления.Как я могу сделать то же самое в MS SQL 2008 Trigger?

1 Ответ

5 голосов
/ 29 апреля 2011

В отличие от Oracle, затронутые записи передаются в наборах триггерам SQL Server, на которые ссылаются как INSERTED и DELETED.

Вам необходимо обновить целевую таблицу:

UPDATE   m
SET      column_name = @new_value
FROM     INSERTED i
JOIN     mytable m
ON       m.id = i.id

или, что лучше, создайте триггер INSTEAD OF.

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