2010-07-07 2 views
3

У меня есть форма с данными. Любые изменения или вставка, эти данные должны обновляться при буксировке различных таблиц, таких как имя, зарплата в одной таблице и адрес, идентификатор почты в другой таблице.Аудит двух разных таблиц в SQL Server

Как и в примере выше, у меня есть несколько столбцов в обеих таблицах.

Теперь я хочу проверить таблицу. Поэтому я думаю, что мне нужно создать представление для двух таблиц и настроить триггер для представления. Правильно ли ?.

А также мне нужно знать только затронутые столбцы. Как получить только затронутые столбцы?

Пожалуйста, предложите мне решение.

Спасибо!

ответ

1

Есть много способов, чтобы позволить системе обрабатывать все, что черновую работу за вас - в зависимости от версии SQL Server вы используете:

Если вы действительно должны самостоятельно обрабатывать всю работу, вам нужно ознакомиться с триггерами - прочитайте их в Data Points: Exploring SQL Server Triggers.

Внутри кода триггера, у вас есть два «псевдо-таблицы»:

  • Inserted является таблица проведения вставляемых значений (в триггере INSERT) или новые значения (в триггер UPDATE)
  • Deleted это таблица держит значения удаления (в DELETE триггер) или старые значения (в триггер UPDATE)

с этими двумя псевдо-таблиц, вы можете получить доступ ко всем данным, вам может понадобиться ,

+0

Что такое BOL? В любом случае это связано с этим? Я получил это по этой ссылке http://stackoverflow.com/questions/2684293/change-data-capture-or-change-tracking-same-as-traditional-audit-trail-table – Manoj

+0

@Manoj: BOL = Books Online - Онлайн-документация SQL Server (Библиотека MSDN) –

Смежные вопросы