几个系统存储过程用系统表提供有关存储过程的信息。使用这些存储过程可以:
- 查看用于创建存储过程的 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