Главная страница
    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
2-1213338165
mefodiy
2008-06-13 10:22
2008.07.13
ComboBox в DBGridEh


2-1213367274
DJ_UZer
2008-06-13 18:27
2008.07.13
Правильное открытие в браузере


2-1213167659
deras
2008-06-11 11:00
2008.07.13
Как обнулить счетчик генератора в FireBird?


15-1210961167
@!!ex
2008-05-16 22:06
2008.07.13
Как писать на С++, а не на Дельфи?


2-1213386303
lewka-serdceed
2008-06-13 23:45
2008.07.13
Chat по средствам Delphi





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