Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
2-1213164130
mirut
2008-06-11 10:02
2008.07.13
Вставка записи в FB


2-1213453411
cr@nk
2008-06-14 18:23
2008.07.13
Помогите с задачей по множествам


3-1201846390
Виталий Панасенко
2008-02-01 09:13
2008.07.13
АДО и запрос к гетерогенным источникам данных


2-1213086566
Alexei
2008-06-10 12:29
2008.07.13
Перевод фокуса на узел TreeView правой кнопкой мыши


15-1211994140
TUser
2008-05-28 21:02
2008.07.13
Винамп - конвертор форматов




   Наверх