Форум: "Начинающим";
Текущий архив: 2008.07.13;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c