SQL 中一些有用的系统存储过程
SQL 中一些有用的系统存储过程。
这些过程是内置过程,将有助于提取现有用户定义存储过程的定义和相关性。
- sp_help :
这将显示存储过程名称、架构名称、创建日期和时间,或者如果有任何参数,
然后是参数名称、数据类型、长度、精度、比例、排序规则等。 - sp_helptext :
这将显示存储过程的内容作为结果。 - sp_depends :
这将显示过程所依赖的位置,如表名、函数等。
例子 -
假设我们有一个名为 geek_demo 的表:
Select * from geek_demo ;
输出 :
Name | Salary | City |
---|---|---|
Ankit | 24500 | Delhi |
Babita | 23600 | Noida |
Chetan | 25600 | Noida |
Deepak | 24300 | Delhi |
Isha | 25900 | Delhi |
Khushi | 24600 | Noida |
Megha | 25500 | Noida |
Parul | 23900 | Noida |
让我们创建一个简单的存储采购,其中包含两个 Select 语句。
CREATE PROCEDURE SelectGeek
AS
BEGIN
SELECT TOP 3 [Name], [City], [Salary]
FROM [geek_demo]
ORDER BY [Salary] ASC
SELECT TOP 3 [Name], [City], [Salary]
FROM [geek_demo]
ORDER BY [Salary] DESC
END
GO
调用存储过程:
EXEC SelectGeek ;
输出 :
Name | City | Salary |
---|---|---|
Babita | Noida | 23600 |
Parul | Noida | 23900 |
Deepak | Delhi | 24300 |
Name | City | Salary |
---|---|---|
Isha | Delhi | 25900 |
Chetan | Noida | 25600 |
Megha | Noida | 25500 |
sp_help 存储过程示例:
SP_HELP SelectGeek ;
输出 :
Name | Owner | Type | Created_datetime |
---|---|---|---|
SelectGeek | dbo | stored procedure | 2020-09-29 14:59:26.943 |
sp_helptext 存储过程示例:
SP_HELPTEXT SelectGeek ;
输出 :
Text
CREATE PROCEDURE SelectGeek
AS
BEGIN
SELECT TOP 3 [Name], [City], [Salary]
FROM [geek_demo]
ORDER BY [Salary] ASC
SELECT TOP 3 [Name], [City], [Salary]
FROM [geek_demo]
ORDER BY [Salary] DESC
END
sp_depends 存储过程示例:
SP_DEPENDS SelectGeek ;
输出 :
name | type | updated | selected | column |
---|---|---|---|---|
dbo.geek_demo | user table | no | yes | Name |
dbo.geek_demo | user table | no | yes | Salary |
dbo.geek_demo | user table | no | yse | City |