Когда строки таблицы изменены, эти измененные строки записываются в XML и сообщают мне, что таблица была изменена.уведомление о том, что строки таблицы были изменены
Как я могу это сделать?
Когда строки таблицы изменены, эти измененные строки записываются в XML и сообщают мне, что таблица была изменена.уведомление о том, что строки таблицы были изменены
Как я могу это сделать?
Если вы ищете строгое TSQL или SQL Server решение:
UPDATE
, DELETE
и INSERT
функциональности.UPDATE
, DELETE
и INSERT
пользовательвторой менее привлекательным решением: Вы можете также использовать триггеры на столе, чтобы захватить деятельность UPDATE
, DELETE
и INSERT
. Строго рассмотрите хранимое решение proc над триггерами.
+1: Триггеры более гибкие, если это для обслуживания, а не для новой разработки. –
@OMG: Я всегда возвращаюсь назад и вперед по триггерам. Даже получить downvotes для даже предлагая их в качестве второго варианта на SO. Этот сценарий кричал «слишком много вещей, чтобы сделать» для триггера. Аудит забавный, но он может идти в любом случае, а также в зависимости от окружающей среды. 50-50. –
Да, иногда вещи «модные». Если это новый разработчик, я избегаю триггеров, если это вообще возможно, и предпочитаю, чтобы все проходили через хранимые процедуры. Я пришел, чтобы принять триггеры больше, но все равно не хочу ОРМ вообще. –
Если вы не можете изменить способ изменения данных в своей таблице, лучшим решением будет настройка триггера для записи изменений в отдельной таблице, а затем запись некоторого кода для периодического опроса этой таблицы и создания xml-файл.
Стоит отметить, что это потенциально замедлит работу вашего db при редактировании данных в этой таблице (полезно для аудита, когда пользователи вносят изменения, плохо для программно измененных данных), и любые ошибки, возникающие от триггера, приводят к довольно вводящим в заблуждение сообщений, отброшенных из сервера sql.
См. this question для некоторых указателей на настройку триггера.
Проблема в том, что я не мог изменить сохраненный процесс. Возможно, я могу добавить триггер вместо этого. Но как я могу узнать об этих изменениях. Есть ли хороший способ сделать это? – Ariver