SQL Server 2005 - Вставить триггер обновления - Получить обновление, вставить строку - PullRequest
3 голосов
/ 16 января 2010

Я хочу создать триггер таблицы для вставки и обновления. Как я могу получить значения текущей записи, которая вставлена ​​/ обновлена?

Ответы [ 3 ]

8 голосов
/ 16 января 2010

внутри триггера вы можете использовать таблицу с именем «вставлено» для доступа к значениям новых записей и новой версии обновленных записей. Аналогично, таблица с именем «удаленные» позволяет получить доступ к удаленным записям и исходным версиям обновленных записей.

0 голосов
/ 16 января 2010

Хотя для этого можно использовать триггеры, я бы очень осторожно решил принять их.Они являются абсолютным препятствием для отладки и могут привести к отсутствию ремонтопригодности.

, если вам нужно делать каскадные обновления (т.е. изменение таблицы A в свою очередь изменяет таблицу B), я бы либо использовал хранимую процедуру (который может быть проверен и отлажен легче, чем триггер), или если вам достаточно повезло, что вы используете ORM (Entity Framework, NHibernate и т. д.), выполняйте эту функцию в вашей модели или хранилище.

0 голосов
/ 16 января 2010

используя функцию «обновление» для столбца (если вы хотите проверить факт обновления) или извлекая строки из таблицы «вставлено»

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