Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Доброе время суток!

для базы db_name()
а для таблицы?
и для схемы тоже интересно.

Спасибо.
4 июл 13, 16:42    [14523532]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
@@PROCID а далее как обычно.
4 июл 13, 16:53    [14523595]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Mnior,
получилось так
select @Tabelle = sys.tables.name FROM sys.triggers left join sys.tables on sys.tables.object_id = sys.triggers.parent_id WHERE sys.triggers.object_id = @@PROCID 
4 июл 13, 17:28    [14523814]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Mikhail Tchervonenko
Как внутри тригера получить имя таблицы и схемы для которой он был вызван?

Очередной писатель универсальных триггеров? :)
4 июл 13, 17:33    [14523843]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Гость333
Mikhail Tchervonenko
Как внутри тригера получить имя таблицы и схемы для которой он был вызван?

Очередной писатель универсальных триггеров? :)


токма волей пославшей мя жаны :)

иногда дурацкие задачи влекут дурацкие решения. поскольку задачу ставил не я приходится ваять что потребовали.
4 июл 13, 17:45    [14523902]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mikhail Tchervonenko
иногда дурацкие задачи влекут дурацкие решения.

Что прямо так задачу и поставили - создать универсальный триггер ?
4 июл 13, 17:54    [14523958]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Glory,

задачу поставили своё журналирование сделать
насколько это глупо думаю понятно, но они платят потому пишем
4 июл 13, 18:06    [14524029]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Mikhail Tchervonenko
задачу поставили своё журналирование сделать

Т.е. универсальный триггер это все же ваш способо решения ? А не "дурацкая задача"

Mikhail Tchervonenko
насколько это глупо думаю понятно, но они платят потому пишем

Аудит - это глупо ?
4 июл 13, 18:12    [14524054]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
zaikaz
Guest
Mikhail Tchervonenko, может лучше автоматизировать генерацию текста скриптов? ;-)
4 июл 13, 18:26    [14524113]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
Glory,

глупо изобретать велосипед
4 июл 13, 18:27    [14524119]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Mikhail Tchervonenko
Member

Откуда: Münster, Germany
Сообщений: 1738
zaikaz
Mikhail Tchervonenko, может лучше автоматизировать генерацию текста скриптов? ;-)

уже
4 июл 13, 18:27    [14524122]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Mikhail Tchervonenko
select @Tabelle = sys.tables.name FROM sys.triggers left join sys.tables on sys.tables.object_id = sys.triggers.parent_id WHERE sys.triggers.object_id = @@PROCID
Не-не, мало джоинов. Надо больше больше.
SELECT	 Object_Schema_Name(O.parent_object_id)	AS [Schema]
	,Object_Name(O.parent_object_id)	AS [Parent]	-- Table OR View
FROM	sys.objects	O
WHERE	O.[object_id] = @@ProcID
Жалею что оказал медвежью услугу. Журналирование уже встроено.
4 июл 13, 20:33    [14524560]     Ответить | Цитировать Сообщить модератору
 Re: Как внутри тригера получить имя таблицы и схемы для которой он был вызван?  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2414
Mikhail Tchervonenko
Glory,

задачу поставили своё журналирование сделать
насколько это глупо думаю понятно, но они платят потому пишем


даже если задача глупая, может не стоит ее по глупому решать?
5 июл 13, 10:11    [14525776]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить