SQL 中有用的系统存储过程

让我们看看 SQL 中一些有用的系统存储过程。这些过程将帮助您提取现有存储过程的定义和依赖项。以下三个 Sql Server 系统存储过程对于处理用户定义的过程很有用。

  • sp_help:此过程将向您显示存储过程名称、架构名称、创建日期和时间。如果存在任何参数,则会显示参数名称、数据类型、长度、精度、小数位数、排序规则等。
  • sp_helptext:显示存储过程的定义。如果过程已加密,则此 sp_helptext 不会返回任何定义。
  • sp_depends:它将显示所有依赖项。它可以用于检查存储过程依赖于哪个表。

在此演示中,我们将使用下面显示的 SQL 表。

我建议您参考 SQL 存储过程简介 文章,以了解 SQL 存储过程的基础知识。

SQL 中有用的系统存储过程示例

在深入研究系统存储过程之前,我将创建一个简单的存储过程,该过程在存储过程中包含两个 Select 语句

CREATE PROCEDURE SelectEmployees
AS
BEGIN
	SELECT TOP 6 [FirstName] + ' ' + [LastName] AS [Full Name]
          ,[Education], [Occupation], [YearlyIncome], [Sales], [HireDate]
	FROM [EmployeeDuplicates]
	ORDER BY [Sales] ASC
	
	SELECT TOP 4 [FirstName] + ' ' + [LastName] AS [Full Name]
          ,[Education], [Occupation], [YearlyIncome], [Sales], [HireDate]
	FROM [EmployeeDuplicates]
	ORDER BY [Sales] DESC
END
GO

运行查询

Messages
--------
Command(s) completed successfully.

让我向您展示它返回的数据。

sp_help SQL 存储过程示例

在此示例中,我们将对先前创建的过程使用 sp_help 存储过程。

SP_HELP SelectEmployees
Useful System Stored Procedures in SQL 3

我将使用另一个包含参数的过程。我建议您参考 SQL 存储过程中的输入参数 文章,以了解下面指定的存储过程。

SP_HELP SelectEmployees
Useful System Stored Procedures 7

sp_helptext SQL 存储过程示例

在此示例中,我们对先前创建的过程使用 sp_helptext 存储过程。

SP_HELPTEXT SelectEmployees

从下面的截图可以看出,SQL sp_helptext 以文本形式显示了过程定义。

Useful System Stored Procedures 4

sp_depends SQL 存储过程示例

在本节中,我们对先前创建的过程使用 sp_depends 存储过程。

SP_DEPENDS SelectEmployees

让我们看看 SQL sp_depends 的输出。存储过程中的所有列都依赖于 Employee Duplicates。

SP_DEPENDS Example