Можно ли объявить один Sql Trigger Insert, Update, Delete для всех таблиц в базе данных вместо создания отдельного триггера для каждой таблицы? Мне просто нужна простая история того, какие действия были предприняты, например. ТАБЛИЦА A удаляет строку, ТАБЛИЦА B обновляет строку, ТАБЛИЦА C добавляет новую строку ... и триггер вставляет новую строку в другую таблицу с той информацией, которую я хочу.
один триггер sql вставка, обновление, удаление для всех таблиц в базе данных
comment
Лучшее, что вы можете сделать, - это определить процедуру и создать триггер для каждой таблицы, а затем вызывать ее для каждого триггера. Но для этого вам нужно будет найти способ передать параметры в процедуру, если каждая таблица не имеет одного и того же параметра, и это тот, который вы хотите изменить.
- person Jorge Campos   schedule 02.12.2013
Ответы (1)
Нет, триггер можно определить только для указанной таблицы.
Вам следует ознакомиться с функциями аудита SQL Server (http://technet.microsoft.com/en-us/library/cc280386.aspx). Они более производительны и более гибки в том, чего вы хотите достичь. К сожалению, они недоступны в Express Edition.
person
Twinkles
schedule
02.12.2013
привет, я читал об этой функции, но когда я следую инструкциям, которые им не хватает в студии управления, я предполагаю, что это может не поддерживаться в бесплатной версии SQL EXPRESS 2012
- person user2160275; 02.12.2013
Management Studio Express доступна как часть «инструментов» - вы также можете получить ее для экспресс
- person Dawesi; 19.02.2014