powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Triggers
3 сообщений из 3, страница 1 из 1
Triggers
    #32031958
eugene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таким образом я могу ВКЛЮЧАТЬ/ВЫКЛЮЧАТЬ триггер:

ALTER TABLE table_name DISABLE TRIGGER trigger_name

А можно ли как-нибудь узнать включен или выключен триггер в данный момент ???????
...
Рейтинг: 0 / 0
Triggers
    #32032158
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть подозрение, что 12-й бит поля status таблицы sysobjects отвечает за
состояние триггера (если объект триггер, разумеется). Можно попробовать
этот код:

declare @TriggerName sysname
SET @TriggerName = 'MyTrigger'
SELECT CASE (status & 2048) WHEN 2048 THEN 'DISABLED' ELSE 'ENABLED' END
FROM sysobjects
WHERE id = OBJECT_ID(@TriggerName) AND xtype = 'TR'


Надеюсь, Вы понимаете, что это все недокументированно, поэтому можно
использовать весьма ограниченно...


Удачи
...
Рейтинг: 0 / 0
Triggers
    #32032159
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
use pubs
go
if exists (select * from dbo.sysobjects where id = object_id(N'[testtable]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [testtable]
GO

create table testtable(f1 int)
go
create trigger ti_test on testtable for insert
as
print 'trigger'
go

select OBJECTPROPERTY(object_id('ti_test'), N'ExecIsTriggerDisabled')
go
alter table testtable disable trigger ti_test
go
select OBJECTPROPERTY(object_id('ti_test'), N'ExecIsTriggerDisabled')
go
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Triggers
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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