在本教學中,將學習查看SQL Server觸發器定義的各種方法。
1. 通過從系統視圖查詢獲取觸發器定義
可以通過查詢sys.sql_modules
視圖中的數據來獲取觸發器的定義:
SELECT
definition
FROM
sys.sql_modules
WHERE
object_id = OBJECT_ID('sales.trg_members_delete');
執行上面查詢語句,得到以下結果:
在此查詢中,將要獲取定義的觸發器的名稱傳遞給WHERE子句中的OBJECT_ID()
函數。
2. 使用OBJECT_DEFINITION函數獲取觸發器定義
可以使用OBJECT_DEFINITION
函數獲取觸發器的定義,如下所示:
SELECT
OBJECT_DEFINITION (
OBJECT_ID(
'sales.trg_members_delete'
)
) AS trigger_definition;
執行上面查詢語句,得到以下結果:
在此查詢中,將觸發器名稱傳遞給OBJECT_ID
函數以獲取觸發器的ID
。 然後,使用OBJECT_DEFINITION()
函數根據其ID獲取觸發器定義的Transact-SQL源文本。
3. 使用sp_helptext存儲過程獲取觸發器定義
獲取觸發器定義的最簡單方法是使用sp_helptext
存儲過程,如下所示:
EXEC sp_helptext 'sales.trg_members_delete' ;
sp_helptext
存儲過程返回用於創建對象的定義,在本例中為觸發器。
4. 使用SSMS獲取觸發器定義
要使用SSMS查看DML觸發器的定義,請按以下步驟操作:
- 首先,在對象資源管理器中,連接到資料庫並展開該實例。
- 第2步,展開包含要查看定義的觸發器的資料庫和表。
- 第3步,展開“觸發器”,右鍵單擊要查看定義的觸發器,然後單擊“修改”。 觸發器定義出現在查詢窗口中。
在本教學中,演示了如何使用4
種方法來查看觸發器的定義。
上一篇:
SQL Server觸發器
下一篇:
SQL Server聚合函數