Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.13;
Скачать: CL | DM;

Вниз

MS SQL 2000   Найти похожие ветки 

 
андр.   (2008-06-10 10:56) [0]

Можно ли в триггере какой либо функцией вернуть имя текущей таблицы, тоесть той таблицы в которой срабатывает триггер...

Например есть таблица Table1, в ней триггер trgTable1:

CREATE TRIGGER [trgTable1] ON [dbo].[Table1]
FOR INSERT, UPDATE, DELETE
AS
 DECLARE
   @TableName nvarchar(32)

 SET @TableName = GETTABLENAME()


?


 
clickmaker ©   (2008-06-10 11:01) [1]

а в чем прикол?
SET @TableName = "Table1" ?


 
андр.   (2008-06-10 11:10) [2]


> clickmaker ©   (10.06.08 11:01) [1]
> а в чем прикол?
> SET @TableName = "Table1" ?


57 таблиц. На каждую необходим триггер который выполняет функцию логирования действий.

Скелет триггера примерно один. Так вот хотелось бы чтоб не вписывать в каждом триггере имя его "вызывателя", а сделать это возвращением значения функции. Тем самым уйти от необходимости лезть в каждый триггер и исправлять...


 
DrPass ©   (2008-06-10 11:12) [3]

Напиши скрипт генерации триггеров, если они у тебя все одинаковые


 
Ega23 ©   (2008-06-10 11:13) [4]

Пишется программка, которая генерит текст триггера.
запускается в цикле 57 раз.
Всех дел на полчаса-час от силы.


 
андр.   (2008-06-10 11:15) [5]

Т.е., ответ как я понимаю: "Такой функции нет, и быть ниможет !" ?


 
clickmaker ©   (2008-06-10 11:18) [6]

eventdata()?


 
андр.   (2008-06-10 11:26) [7]


> clickmaker ©   (10.06.08 11:18) [6]
> eventdata()?

Хм... Интересная функция только наверное она будет только затормаживать процесс обработки триггера...


 
DiamondShark ©   (2008-06-10 11:43) [8]


> Т.е., ответ как я понимаю: "Такой функции нет, и быть ниможет !" ?

Не может


> Хм... Интересная функция только наверное она будет только
> затормаживать процесс обработки триггера...

Любой оператор будет затормаживать процесс обработки триггера.
Но учитывая, что: "57 таблиц. На каждую необходим триггер который выполняет функцию логирования действий.", процесс у тебя и так заторможен по самое не балуй.


 
Anatoly Podgoretsky ©   (2008-06-10 11:44) [9]

Она не срабатывает на разных таблицах, триггер приписан к конкретной таблице и это указано явно

ON [dbo].[Table1]


 
MsGuns ©   (2008-06-10 12:55) [10]

Очевидно, автор желает не заморачиваться при написании триггера для каждой таблицы указывать имя этой таблицы, например для того, чтобы его (имя) прописывать в некий "сводный" лог.
Журналирование, вложенное в триггер, очень зловредная штука и требует доп.админсервисов. Хотя бы для того, чтобы периодически очищать журнал, особенно после чистки базы или заливок данных. Кроме того, "сводный" журнал чрезвычайно трудно контролировать.


 
Anatoly Podgoretsky ©   (2008-06-10 13:17) [11]

MS SQL поддерживает скрипты, при том в обе стороны.



Страницы: 1 вся ветка

Текущий архив: 2008.07.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
2-1213024171
Franzy
2008-06-09 19:09
2008.07.13
Как узнать статус завершения запущенной консольной программы?


2-1213621632
snake-as
2008-06-16 17:07
2008.07.13
Простая хэш - функция


11-1189856395
Robt
2007-09-15 15:39
2008.07.13
ComboBox


2-1213333226
TForumHelp
2008-06-13 09:00
2008.07.13
Значение из TMyComponent


15-1212385974
андр.
2008-06-02 09:52
2008.07.13
XP или Vista...