Записывать изменения в таблицу базы данных с помощью триггера - PullRequest
9 голосов
/ 23 мая 2009

Я ищу хороший способ регистрировать изменения, которые происходят в определенном наборе таблиц в моей базе данных SQL Server 2005. Я считаю, что лучший способ сделать это через триггер, который выполняется при обновлении и удалении. Есть ли способ захватить фактическое заявление, которое выполняется? Как только у меня есть заявление, я могу легко зарегистрировать его где-нибудь еще (другая таблица БД). Однако я не нашел простого способа (если это возможно) получить оператор SQL, который выполняется.

Ответы [ 11 ]

0 голосов
/ 23 мая 2009

Будьте осторожны, поскольку триггеры срабатывают на уровне ROW, а не на уровне SQL STATEMENT. Таким образом, если кто-то выполнит команду «DELETE FROM BIGTABLE», ваш триггер сработает для каждой строки в этой таблице (особенно в связи с тем, что вы хотите знать оператор SQL, который выполнил операцию, поэтому вам нужно будет что "для каждой строки, на которую влияет оператор).

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