Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1211262319
grav
2008-05-20 09:45
2008.07.13
IBDataSet, Master-Detail и Insert


2-1213461136
Alexey
2008-06-14 20:32
2008.07.13
Работа с 2-мя клиентскими приложениями


2-1213120133
Riply
2008-06-10 21:48
2008.07.13
Warning, которого быть не должно.


15-1212088289
Дмитрий С
2008-05-29 23:11
2008.07.13
Можно ли в Delphi использовать lib-файл?


15-1212052993
User1
2008-05-29 13:23
2008.07.13
Форма авторизации





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский