Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Возможно ли назначить один триггер всем таблицам в базе  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Доброе время суток!

триггер для всех таблиц одинаков, дабы не плодить код хотелось бы иметь один триггер который срабатывает на каждой таблице в базе.
Как ?

Спасибо.
4 июл 13, 17:34    [14523850]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли назначить один триггер всем таблицам в базе  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
MSSQL 2008
4 июл 13, 17:35    [14523856]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли назначить один триггер всем таблицам в базе  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mikhail Tchervonenko
Как ?

Никак
4 июл 13, 17:37    [14523871]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли назначить один триггер всем таблицам в базе  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Glory,

ясно
4 июл 13, 17:39    [14523878]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли назначить один триггер всем таблицам в базе  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Mikhail Tchervonenko,

Общий код триггеров можно вынести в хранимую процедуру. Но на каждой таблице всё равно нужно создать свой триггер, т.к. в команде CREATE TRIGGER можно указать только одну таблицу (или представление), к которой будет относиться этот триггер.
4 июл 13, 17:39    [14523879]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли назначить один триггер всем таблицам в базе  [new]
SHKoder
Member

Откуда: Moscow city
Сообщений: 616
у одной таблицы можно на любые действия можно выполнять один и тот же триггер

CREATE trigger dbo.tiud_table_audit on dbo.table
for INSERT, UPDATE, DELETE
as
BEGIN
...
END
go


а так чтобы на все таблицы, один триггер ...
Glory в общем ответил
4 июл 13, 17:45    [14523907]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли назначить один триггер всем таблицам в базе  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Гость333
Mikhail Tchervonenko,

Общий код триггеров можно вынести в хранимую процедуру.
Ой ли!
Разве что inserted и deleted предварительно скопировать
в табличные переменные или временные таблицы...
Но если придётся каждый раз копировать миллионы строк,
то я что-то сомневаюсь в приемлемости такого подхода.
4 июл 13, 20:10    [14524503]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли назначить один триггер всем таблицам в базе  [new]
Гость333
Member

Откуда:
Сообщений: 3683
iap,

Да, согласен, что-то я погорячился. Наверное, это потому, что не наступал на грабли универсальных триггеров (т.к. никогда их не писал и не собираюсь)
4 июл 13, 20:29    [14524546]     Ответить | Цитировать Сообщить модератору
 Re: Возможно ли назначить один триггер всем таблицам в базе  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Mikhail Tchervonenko
срабатывает на каждой таблице в базе
Логирование изменений и аудит уже встроено.
5 июл 13, 01:09    [14525165]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить