如何查看存储过程的定义 (SQL Server Management Studio)

许多系统存储过程、系统函数和目录视图都提供有关存储过程的信息。您可以使用这些系统存储过程来查看存储过程的定义:即,用于创建存储过程的 Transact-SQL 语句。如果没有用于创建存储过程的 Transact-SQL 脚本文件,这可能会非常有用。

使用 sys.sql_modules 查看存储过程的定义

  1. 在对象资源管理器中,连接到 数据库引擎实例,再展开该实例。

  2. 在工具栏上,单击**“新建查询”**。

  3. 在查询窗口中,输入下列语句。更改数据库名称和存储过程名称以引用所需的数据库和存储过程。

    USE AdventureWorks2008R2;
    GO
    SELECT definition
    FROM sys.sql_modules
    WHERE object_id = (OBJECT_ID(N'AdventureWorks2008R2.dbo.uspLogError'));
    

使用 OBJECT_DEFINITION 查看存储过程的定义

  1. 在对象资源管理器中,连接到 数据库引擎实例,再展开该实例。

  2. 在工具栏上,单击**“新建查询”**。

  3. 在查询窗口中,输入下列语句。更改数据库名称和存储过程名称以引用所需的数据库和存储过程。

    USE AdventureWorks2008R2;
    GO
    SELECT OBJECT_DEFINITION (OBJECT_ID(N'AdventureWorks2008R2.dbo.uspLogError')); 
    

使用 sp_helptext 查看存储过程的定义

  1. 在对象资源管理器中,连接到 数据库引擎实例,再展开该实例。

  2. 在工具栏上,单击**“新建查询”**。

  3. 在查询窗口中,输入下列语句。更改数据库名称和存储过程名称以引用所需的数据库和存储过程。

    USE AdventureWorks2008R2;
    GO
    EXEC sp_helptext N'AdventureWorks2008R2.dbo.uspLogError';