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

Откуда:
Сообщений: 24
Собственно, вопрос. платформа - ms sql 2005
14 ноя 05, 07:16    [2064524]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Интересно а как Вы это себе представляете?
14 ноя 05, 08:30    [2064577]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
mp3
Member

Откуда:
Сообщений: 24
Ну возможны же стали там DDL триггеры, может и такое что-то есть... если б я себе представлял, как это сделать, я бы сделал это Ж).
14 ноя 05, 09:54    [2064762]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
sti
Member

Откуда:
Сообщений: 769
mp3
если б я себе представлял, как это сделать, я бы сделал это Ж).
Вопрос не в том как это сделать, вопрос в том чтобы это значило!
Что, все действий будут те же самые, независимо от таблицы? Дак это бессмыслица.
14 ноя 05, 12:44    [2065731]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
mp3
Member

Откуда:
Сообщений: 24
Странные люди!.. раз я спрашиваю, значит дейстивительно есть в этом необходимость... это не бессмыслица! Есть правильное тело триггера генерирующее правильный динамик sql. Естественно в этом динмаик sql-е учитывается таблица, ее структура и т.д. просто этот код должен срабатывать на каждой таблице (если угодно, одной из целью является логирование действий пользователя). Этот скрипт должен выполняться при все вставках/удалениях во всех таблицах базы. Таблиц много, оч неохота везде затыркивать его руками.
14 ноя 05, 13:21    [2065924]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
автор
Таблиц много, оч неохота везде затыркивать его руками.


Ну так напишите еще оди скрипт, который бы "затыркивал" его в небходимые таблицы.
14 ноя 05, 13:24    [2065935]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Странные люди!.. раз я спрашиваю, значит дейстивительно есть в этом необходимость... это не бессмыслица!
Ну если все удивляются, то значит наверное задача вызывает удивление. Хотя если вы выбрали такой путь решения, то дело ваше - вам потом с ним "жить"
14 ноя 05, 13:28    [2065946]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
автор
(если угодно, одной из целью является логирование действий пользователя)

Зачем придумывать велосипед если есть мотоцикл.

Журналирование изменений структуры БД и данных
14 ноя 05, 13:29    [2065953]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
mp3
Member

Откуда:
Сообщений: 24
хех! если бы так просто. На табличках могут быть свои триггера, они не должны обламываться!
хотя, в целом, я тоже прихожу к такому решению - организовывать цепочку триггеров, выстраивать этот нужный мне триггер первым в цепочке. А на create table повесить триггер, который автоматом будет формировать для таблицы этот триггер и вешать его первым.
14 ноя 05, 13:32    [2065974]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
Glory
Member

Откуда:
Сообщений: 104760
хех! если бы так просто. На табличках могут быть свои триггера, они не должны обламываться!
И как они могут "обломиться" ?
14 ноя 05, 13:35    [2065992]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
mp3
Member

Откуда:
Сообщений: 24
обломиться - это про тупое добавление триггера в рантайме.
а насчет журналирования - вообще не понял к чему ссылка, там и так предлагаются триггера. их же надо назначить на таблицы!
14 ноя 05, 13:38    [2066004]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
Glory
Member

Откуда:
Сообщений: 104760
обломиться - это про тупое добавление триггера в рантайме.
Как, извините ?
14 ноя 05, 13:41    [2066024]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
mp3
обломиться - это про тупое добавление триггера в рантайме.
а насчет журналирования - вообще не понял к чему ссылка, там и так предлагаются триггера. их же надо назначить на таблицы!


Ну так назначайте кто Вам не даёт.
14 ноя 05, 13:47    [2066055]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
mp3
Member

Откуда:
Сообщений: 24
Я уже выше описал свое решение... сплошные триггера...
14 ноя 05, 14:15    [2066221]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
Glory
Member

Откуда:
Сообщений: 104760
mp3
Я уже выше описал свое решение... сплошные триггера...

Я увидел, что у вас _один универсальный триггер_.
А вам предлагают написать универсальную процедру, которая будет создавать для каждой таблицы ее персональный триггер аудита.
14 ноя 05, 14:22    [2066253]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
mp3
Я уже выше описал свое решение... сплошные триггера...


И что?! Таблица может иметь более одного триггера на каждое действие.
14 ноя 05, 14:40    [2066316]     Ответить | Цитировать Сообщить модератору
 Re: Есть ли возможность создать триггер, который бы срабатывал на всех таблицах?  [new]
boo-mmx
Member

Откуда: Волгоград
Сообщений: 91
Ответ на основной вопрос "Есть ли возможность создать триггер, который бы срабатывал на всех таблицах" - нет. Вместо этого можно создать скрипт, который бы создавал этот триггер для необходимой таблицы (или таблиц).
14 ноя 05, 15:18    [2066459]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить