![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MS SQL 2000
андр. © (2008-06-10 10:56:00)Можно ли в триггере какой либо функцией вернуть имя текущей таблицы, тоесть той таблицы в которой срабатывает триггер...
Например есть таблицаTable1, в ней триггерtrgTable1:
CREATE TRIGGER [trgTable1] ON [dbo].[Table1]
FOR INSERT, UPDATE, DELETE
AS
DECLARE
@TableName nvarchar(32)
SET @TableName = GETTABLENAME()
?
Anatoly Podgoretsky (2008-06-10 13:17:00) [1]MS SQL поддерживает скрипты, при том в обе стороны.
MsGuns (2008-06-10 12:55:00) [2]Очевидно, автор желает не заморачиваться при написании триггера для каждой таблицы указывать имя этой таблицы, например для того, чтобы его (имя) прописывать в некий "сводный" лог.
Журналирование, вложенное в триггер, очень зловредная штука и требует доп.админсервисов. Хотя бы для того, чтобы периодически очищать журнал, особенно после чистки базы или заливок данных. Кроме того, "сводный" журнал чрезвычайно трудно контролировать.
Anatoly Podgoretsky (2008-06-10 11:44:00) [3]Она не срабатывает на разных таблицах, триггер приписан к конкретной таблице и это указано явно
ON [dbo].[ Table1]
DiamondShark (2008-06-10 11:43:00) [4]
> Т.е., ответ как я понимаю: "Такой функции нет, и быть ниможет !" ?
Н еможет
> Хм... Интересная функция только наверное она будет только
> затормаживать процесс обработки триггера...
Любой оператор будет затормаживать процесс обработки триггера.
Но учитывая, что: "57 таблиц. На каждую необходим триггер который выполняет функцию логирования действий.", процесс у тебя и так заторможен по самое не балуй.
андр. (2008-06-10 11:26:00) [5]
> clickmaker © (10.06.08 11:18) [6]
> eventdata()?
Хм... Интересная функция только наверное она будет только затормаживать процесс обработки триггера...
clickmaker (2008-06-10 11:18:00) [6]eventdata()?
андр. (2008-06-10 11:15:00) [7]Т.е., ответ как я понимаю: "Такой функции нет, и быть ниможет !" ?
Ega23 (2008-06-10 11:13:00) [8]Пишется программка, которая генерит текст триггера.
запускается в цикле 57 раз.
Всех дел на полчаса-час от силы.
DrPass (2008-06-10 11:12:00) [9]Напиши скрипт генерации триггеров, если они у тебя все одинаковые
андр. (2008-06-10 11:10:00) [10]
> clickmaker © (10.06.08 11:01) [1]
> а в чем прикол?
> SET @TableName = 'Table1' ?
57 таблиц. На каждую необходим триггер который выполняет функцию логирования действий.
Скелет триггера примерно один. Так вот хотелось бы чтоб не вписывать в каждом триггере имя его "вызывателя", а сделать это возвращением значения функции. Тем самым уйти от необходимости лезть в каждый триггер и исправлять...
clickmaker (2008-06-10 11:01:00) [11]а в чем прикол?
SET @TableName = 'Table1' ?