查看数据库中存在触发器的表

这次在项目中,我们为了做数据库同步,采用了触发器机制,为数据库做迁移时,我们需要获取数据库中那些表使用了触发器,方便制作数据库安装包。


构思:

触发器在MSSQL作为一个对象进行管理,那么我们就可以通过sysobjects表进行查询获取,
所以我们就编写了一下触发器获取SQL


SELECT
object_name(a.parent_obj) as [表]
,a.name as [触发器]
,(case when b.is_disabled=0 then ‘使用中’ else ‘停用’ end) as [触发器状态]
,b.create_date as [写入日期]
,b.modify_date as [最后修改日期]
,c.text as [触发器内容]
FROM sysobjects a
INNER JOIN sys.triggers b
ON b.object_id=a.id
INNER JOIN syscomments c
ON c.id=a.id
WHERE a.xtype=’tr’ ——tr代表类型 触发器
ORDER BY [表]