<script type="text/javascript"></script> SQL Server联机丛书:查看存储过程 <script type="text/javascript"></script>
几个系统存储过程用系统表提供有关存储过程的信息。使用这些存储过程可以:
-
查看用于创建存储过程的 Transact-SQL 语句。这对于没有用于创建存储过程的 Transact-SQL 脚本文件的用户是很有用的。
-
获得有关存储过程的信息(如存储过程的所有者、创建时间及其参数)。
-
列出指定存储过程所使用的对象及使用指定存储过程的过程。此信息可用来识别那些受数据库中某个对象的更改或删除影响的过程。
查看存储过程的定义
sp_helptext
显示规则、默认值、未加密的存储过程、用户定义函数、触发器或视图的文本。
语法
sp_helptext [ @objname = ] 'name'
参数
[@objname =] 'name'
对象的名称,将显示该对象的定义信息。对象必须在当前数据库中。name 的数据类型为 nvarchar(776),没有默认值。
返回代码值
0(成功)或 1(失败)
结果集
列名 | 数据类型 | 描述 |
Text | nvarchar(255) | 对象定义文本 |
注释
sp_helptext 在多个行中显示用来创建对象的文本,其中每行有 Transact-SQL 定义的 255 个字符。这些定义只驻留在当前数据库的 syscomments 表的文本中。
权限
执行权限默认授予 public 角色。
示例
下面的示例显示 employee_insupd 触发器的文本,该触发器在数据库 pubs 中。
USE pubs
EXEC sp_helptext 'employee_insupd'
查看有关存储过程的信息 sp_help
报告有关数据库对象(sysobjects 表中列出的任何对象)、用户定义数据类型或 Microsoft® SQL Server™ 所提供的数据类型的信息。
语法
sp_help [ [ @objname = ] name ]
参数
[@objname =] name
是 sysobjects 中的任意对象的名称,或者是在 systypes 表中任何用户定义数据类型的名称。Name 的数据类型为 nvarchar(776),默认值为 NULL。不能使用数据库名称。
返回代码值
0(成功)或 1(失败)
结果集
返回的结果集取决于 name 是否已指定、何时指定以及它是何种数据库对象等因素。
-
如果执行不带参数的 sp_help,则返回当前数据库中现有的所有类型对象的摘要信息。
列名 | 数据类型 | 描述 |
Name | nvarchar(128) | 对象名 |
Owner | nvarchar(128) | 对象所有者 |
Object_type | nvarchar(31) | 对象类型 |
-
-
如果 name 是 SQL Server 数据类型或用户定义数据类型,则 sp_help 返回此结果集。
列名 | 数据类型 | 描述 |
Type_name | nvarchar(128) | 数据类型名称。 |
Storage_type | nvarchar(128) | SQL Server 类型名称。 |
Length | smallint | 数据类型的物理长度(以字节为单位)。 |
Prec | int | 精度(总的数字位数)。 |
Scale | int | 小数点右边的数字位数。 |
Nullable | varchar(35) | 指明是否允许 NULL 值:是或否。 |
Default_name | nvarchar(128) | 绑定到该类型的默认值名称。如果没有绑定默认值,则为 NULL。 |
Rule_name | nvarchar(128) | 绑定到该类型的规则名称。如果没有绑定默认值,则为 NULL。 |
Collation | sysname | 数据类型的排序规则。如果是非字符数据类型,则为 NULL。 |
-
-
如果 name 是任意数据库对象(而不是数据类型),那么 sp_help 将返回此结果集,以及基于指定对象类型的其它结果集。
列名 | 数据类型 | 描述 |
Name | nvarchar(128) | 表名 |
Owner | nvarchar(128) | 表的所有者 |
Type | nvarchar(31) | 表的类型 |
Created_datetime | datetime | 创建的日期表 |
-
7. 根据指定的数据库对象,sp_help 返回其它结果集。
8. 如果 name 是系统表、用户表或者视图,则 sp_help 返回这些结果集(例外,对于视图,不返回描述数据文件在文件组中所处位置的结果集)。
-
-
按列对象返回其它结果集:
列名 | 数据类型 | 描述 |
Column_name | nvarchar(128) | 列名。 |
Type | nvarchar(128) | 列数据类型。 |
Computed | varchar(35) | 指出是否计算了在列中的值:(是或否)。 |
Length | int | 以字节为单位的列长度。 |
Prec | char(5) | 列精度。 |
Scale | char(5) | 列数值范围。 |
Nullable | varchar(35) | 指出在列中是否允许 NULL 值:是或否。 |
TrimTrailingBlanks | varchar(35) | 剪裁尾随空格(是或否)。 |
FixedLenNullInSource | varchar(35) | 只是为了向后兼容。 |
Collation | sysname | 列的排序规则。如果是非字符数据类型,则为 NULL。 |
-
-
-
按标识列返回的其它结果集: