這次在項目中,我們爲了做數據庫同步,採用了觸發器機制,爲數據庫做遷移時,我們需要獲取數據庫中那些表使用了觸發器,方便製作數據庫安裝包。
構思:
觸發器在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 [表]