Для некоторого фона ... У меня есть коллекция таблиц, и я хотел бы триггер для каждой таблицы для INSERT, UPDATE, DELETE
.Версия SQL Server - SQL 2005.
У меня есть таблица аудита Audit
, которая содержит столбец с именем Detail
.Моя конечная цель - создать триггер, который получит список столбцов своей таблицы, сгенерировать запрос динамического выбора из вложенных, обновленных или удаленных, выполнить некоторую конкатенацию строк и вывести это значение в столбец Detail
в Audit
.
Это процесс, о котором я думал:
- Получить имена столбцов в таблице для
sys.columns
- Создать динамический запрос sql
SELECT
на основеимена столбцов - Выберите из
Inserted
- для каждой строки в результатах, объедините значения столбцов в одну переменную
- Вставьте данные переменной в
Detail
столбец
Итак, вопросы:
Это лучший способ выполнить то, что я хочу сделать?И несколько более важный вопрос, как мне написать этот запрос?