在 SQL Server 中更改禁用的触发器而不启用它

Flo*_*ion 5 trigger sql-server

似乎触发器在更改后会自动启用。如何以编程方式更改触发器而不更改其启用/禁用状态?

重现代码:

create trigger trig
on MyTable
after insert
as select 0

go

disable trigger trig on MyTable

go

select is_disabled from sys.triggers where name = 'trig'

go

alter trigger trig
on MyTable
after insert
as select 1

go

select is_disabled from sys.triggers where name = 'trig'
Run Code Online (Sandbox Code Playgroud)

Mar*_*ith 10

你不能。您只需要再次禁用它。没有ALTER TRIGGER语法可以阻止这种情况。

禁用触发主题明确要求的是,

使用 ALTER TRIGGER 语句更改触发器将启用触发器。