один триггер sql вставка, обновление, удаление для всех таблиц в базе данных

Можно ли объявить один Sql Trigger Insert, Update, Delete для всех таблиц в базе данных вместо создания отдельного триггера для каждой таблицы? Мне просто нужна простая история того, какие действия были предприняты, например. ТАБЛИЦА A удаляет строку, ТАБЛИЦА B обновляет строку, ТАБЛИЦА C добавляет новую строку ... и триггер вставляет новую строку в другую таблицу с той информацией, которую я хочу.


person user2160275    schedule 02.12.2013    source источник
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
comment
привет, я читал об этой функции, но когда я следую инструкциям, которые им не хватает в студии управления, я предполагаю, что это может не поддерживаться в бесплатной версии SQL EXPRESS 2012 - person user2160275; 02.12.2013
comment
Management Studio Express доступна как часть «инструментов» - вы также можете получить ее для экспресс - person Dawesi; 19.02.2014