Главная страница
    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.46 MB
Время: 0.008 c
3-1202115145
Tsyba_Stanislav
2008-02-04 11:52
2008.07.13
Проблема возврата строк в запросе под ОС Виста


2-1213274505
Franzy
2008-06-12 16:41
2008.07.13
Try...Except не ловит ошибки ввода/вывода


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


2-1213586310
НаТаШа
2008-06-16 07:18
2008.07.13
Как в листбоксе можно по быстрому открыть большой файл....


3-1201906445
md10
2008-02-02 01:54
2008.07.13
delete record





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский