怎么判断触发器有没有启动
如何判断触发器有没有启动
--查询触发器的禁用/启用状态
select 表名=object_name(parent_obj),触发器名=name
,状态=case status & power(2,11) when power(2,11) then '禁用' else '启用' end
from sysobjects
where type='TR'
我只是想i判断某个触发器有没有启动,上面的是我从网上找来的,但是不知道表名要写什么?因为我只想判断触发器有没有启动,是写触发器相关的表么?
--查询触发器的禁用/启用状态
select POS_R05=object_name(parent_obj),TR_RETURN_HANDLE=name
,状态=case status & power(2,11) when power(2,11) then '禁用' else '启用' end
from sysobjects
where type='TR'
我这么写了触发器里要用的表明和触发器名字,但是运行如上语句的时候弹出一个小框提示让我输入 POWER 大体变数
------解决思路----------------------
--查询触发器的禁用/启用状态
select 表名=object_name(parent_obj),触发器名=name
,状态=case status & power(2,11) when power(2,11) then '禁用' else '启用' end
from sysobjects
where type='TR'
我只是想i判断某个触发器有没有启动,上面的是我从网上找来的,但是不知道表名要写什么?因为我只想判断触发器有没有启动,是写触发器相关的表么?
--查询触发器的禁用/启用状态
select POS_R05=object_name(parent_obj),TR_RETURN_HANDLE=name
,状态=case status & power(2,11) when power(2,11) then '禁用' else '启用' end
from sysobjects
where type='TR'
我这么写了触发器里要用的表明和触发器名字,但是运行如上语句的时候弹出一个小框提示让我输入 POWER 大体变数
------解决思路----------------------
-- 你发错版块了,让版主给移到 sqlserver 区吧
-- 例子,你参考一下。
create table test(id int,name varchar(10))
go
create trigger test_ins
on test after insert
as
begin
update test set id = id where 1 = 0
end
go
create trigger test_up
on test after update
as
begin
update test set id = id where 1 = 0
end
go
select name , is_disabled from sys.triggers
go
alter table test disable trigger test_ins
go
select name , is_disabled from sys.triggers
drop table test
go
name is_disabled
---------------- --
test_ins 0
test_up 0
(2 行受影响)
name is_disabled
---------------- --
test_ins 1
test_up 0
(2 行受影响)