[标签]MS SQL
--查看数据库中所有的触发器,
select * from sysobjects where xtype='TR' order by id
--查询特定数据库中某一不知归属表的触发器, 如修改订单子表上累计开票数量、件数、价税合计 触发器名=SA_BillsDELTrig
--use ufdata_008_2014
--定义父对象id变量
declare @parent_obj_id int
--先找出父对象(所在表)的id(在触发器不重复归属于多个表的情况下)
select @parent_obj_id=parent_objfrom sysobjects where name='SA_BillsDELTrig'and xtype='TR'
print '所在父对象(表)
的ID是: '+str(@parent_obj_id)
--接下来找出父对象(表)的名称
select name as 触发器所在表为,@parent_obj_id AS 所在父对象表的ID是from sysobjects where type='U' and id=@parent_obj_id
--查看触发器内容
exec sp_helptext 'SA_BillsDELTrig'

-用于查看触发器的属性(参数指定触发器所在的表)
use ufdata_002_2008
go
exec sp_helptrigger Ap_CloseBills
-----------------------------------------------------------------
--创建触发器
--如下是联机丛书上的一个示例,当在 titles 表上更改记录时,发送邮件通知 MaryM。
CREATE TRIGGER reminder
ON titles
FOR INSERT, UPDATE, DELETE
AS
EXEC master..xp_sendmail 'MaryM','Don''t forget to print a report for the distributors.'
--禁用:
alter table 表名 disable trigger 触发器名称
--启用:
alter table 表名 enable trigger 触发器名称