powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как определить object_id DDL триггера, находясь внутри него?
3 сообщений из 3, страница 1 из 1
Как определить object_id DDL триггера, находясь внутри него?
    #40047453
remi_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ряде табличных триггеров у меня есть вызов работающей функции вида
if dbo.Func('имя_таблицы') = 1 return

Соответственно, в каждый триггер прописывается имя его таблицы.
Возник вопрос, а нельзя ли имя таблицы/триггера определять автоматически, находясь внутри него?
И убрать из функции входной параметр.
...
Рейтинг: 0 / 0
Как определить object_id DDL триггера, находясь внутри него?
    #40047462
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
create table dbo.t1 (id int)
go

create trigger dbo.t_ins on dbo.t1 
with execute as owner
for insert
as
	select 
		trigger_name = object_schema_name(object_id) + '.' + object_name(object_id)
		, table_name = object_schema_name(parent_object_id) + '.' + object_name(parent_object_id)
	from sys.objects
	where
		object_id = @@PROCID
go 

insert dbo.t1 
select 1


drop table dbo.t1
...
Рейтинг: 0 / 0
Как определить object_id DDL триггера, находясь внутри него?
    #40047469
remi_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сердечное мерси. Совсем про @@PROCID забыл.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как определить object_id DDL триггера, находясь внутри него?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]