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聚合函数