SQL Server查看觸發器定義

在本教學中,將學習查看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步,展開“觸發器”,右鍵單擊要查看定義的觸發器,然後單擊“修改”。 觸發器定義出現在查詢窗口中。

SSMS查看觸發器

在本教學中,演示了如何使用4種方法來查看觸發器的定義。


上一篇: SQL Server觸發器 下一篇: SQL Server聚合函數