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

Соответственно, в каждый триггер прописывается имя его таблицы.
Возник вопрос, а нельзя ли имя таблицы/триггера определять автоматически, находясь внутри него?
И убрать из функции входной параметр.
...
Рейтинг: 0 / 0
20.02.2021, 11:09
    #40047462
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить object_id DDL триггера, находясь внутри него?
Код: 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
20.02.2021, 11:27
    #40047469
remi_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как определить object_id DDL триггера, находясь внутри него?
Сердечное мерси. Совсем про @@PROCID забыл.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как определить object_id DDL триггера, находясь внутри него? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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