Я хотел бы повернуть триггерную рекурсию вкл\выкл в моем триггере CLR SQL. Согласно http://www.devx.com/tips/Tip/30031, я должен звонить
EXEC sp_dboption '', 'recursive triggers', 'true'/'false'
Существует ли способ узнать, каково текущее имя DB? При создании триггера я прошу, чтобы пользователи выбрали один, но я не хочу писать это в таблице.
С уважением,
Я нашел лучшее решение.
Я должен вообще избегать вызова процедуры EXEC sp_dboption. Вместо этого я должен создать временную таблицу как флаг «без рекурсии», затем проверить наличие таблицы в начале триггера и выйти, если таблица существует.
Почему временная таблица?
Вы знаете, что такое база данных при создании триггера...
CREATE TRIGGER etc
....
GO
DECLARE @db varchar(100)
SET @db = DB_NAME()
EXEC sp_dboption @db, 'recursive triggers', 'true'/'false'