SQLServer联机丛书:查看存储过程

SQLServer联机丛书:查看存储过程,第1张

SQLServer联机丛书:查看存储过程,第2张

一些系统存储过程使用系统表来提供有关存储过程的信息。使用这些存储过程可以:查看用于创建存储过程的Transact-SQL语句。这对于没有用于创建存储过程的Transact-SQL脚本文件的用户非常有用。
获取有关存储过程的信息(如存储过程的所有者、创建时间和参数)。
列出指定存储过程使用的对象以及使用指定存储过程的过程。此信息可用于识别受数据库中对象的更改或删除影响的那些进程。查看存储过程的定义sp_helptext
显示规则、默认值、未加密存储过程、用户定义函数、触发器或视图的文本。
语法
sp _ help text[@ objname =]@ # name @ #
参数
[@objname =] @#name@#

将显示对象的名称和定义信息。该对象必须在当前数据库中。是nvarchar(776),名称为default。
返回代码值
0(成功)或1(失败)
结果集
列名数据类型说明Textnvarchar(255)对象定义文本

注意
sp_helptext将用于创建对象的文本显示在多行中,每行有255个由Transact-SQL定义的字符。这些定义只存在于当前数据库的syscomments表的文本中。
Permission
Execute权限默认授予public角色。
Example
face的示例显示了employee_insupd触发器的文本,它位于数据库pubs中。

使用pubs exec sp _ help text @ # employee _ insu PD @ #

查看有关存储过程的信息sp_help
报告有关数据库对象(sysobjects表中列出的任何对象)、用户定义的数据类型或Microsoft & reg。SQL Server & # 8482关于所提供的数据类型的信息。
语法
sp _ help[[@ objname =]name]
参数
[@objname =] name

sysobjects中任何对象的名称,或者systypes表中任何用户定义的数据类型的名称。这是nvarchar(776),预设值是NULL。您不能使用数据库名称。
返回代码值
0(成功)或1(失败)
结果集
返回的结果集取决于是否指定了名称、何时指定以及它是哪种数据库对象等因素。如果不带参数执行sp_help,将返回当前数据库中存在的所有类型对象的摘要信息。列数据类型说明Namenvarchar(128)对象名称ownervarchar(128)对象所有者Object_typenvarchar(31)对象类型
如果name是SQL Server数据类型或用户定义的数据类型,sp_help将返回此结果集。列数据类型说明Type_namenvarchar(128)数据类型名称。storage _ type nvarchar(128)SQL Server类型名称。Smallint数据类型的物理长度(以字节为单位)。精度(总位数)。小数点右边的位数。Nullablevarchar(35)指示是否允许空值:是或否。Default_namenvarchar(128)绑定到该类型的默认名称。如果没有绑定默认值,则为NULL。Rule_namenvarchar(128)被绑定到这种类型的规则名。如果没有绑定默认值,则为NULL。Collationsysname数据类型的排序规则。如果是非字符数据类型,则为NULL。
如果name是任意数据库对象(不是数据类型),则sp_help将返回该结果集以及基于指定对象类型的其他结果集。列数据类型说明名称nvarchar(128)表名ownervarchar(128)表所有者类型nvarchar(31)表类型Created_datetimedatetime创建日期表

根据指定的数据库对象,sp_help返回其他结果集。

如果name是系统表、用户表或视图,sp_help将返回这些结果集(除视图外,不返回描述文件组中数据文件位置的结果集)。
其他结果集由column对象返回:列名数据类型描述Column_namenvarchar(128)列名。Typenvarchar(128)列数据类型。Computedvarchar(35)指示是否计算列中的值:(是或否)。Lengthint列的长度,以字节为单位。预充电(5)列精度。刻度(5)列值范围。Nullablevarchar(35)指示列中是否允许空值:是或否。TrimTrailingBlanksvarchar(35)修剪尾部空网格(是或否)。FixedLenNullInSourcevarchar(35)仅用于向后兼容。Collationsysname列的排序规则。如果是非字符数据类型,则为NULL。通过标识列返回的其他结果集:列名数据类型描述Identitynvarchar(128)其数据类型声明为identification的列名。Seednumeric标识列的起始值。Incrementnumeric该列中的值所使用的增量。Not For Replicationint当重复登录(如sqlrepl)试图向表中插入数据时,IDENTITY属性不能被强制:
1 = true
0 = false
其他列返回的结果集:列名数据类型说明RowGuidColsysname全局标识符列名。
文件组返回的其他结果集:列名数据类型描述data _ located _ on _ file group nvarchar(128)所在的文件组(主文件组、辅助文件组或事务日志)。
index返回的其他结果集:列名数据类型描述index_namesysname索引名。Index_descriptionvarchar(210)索引的描述。Index_keysnvarchar(2078)生成索引所在列的列名。
约束返回的其他结果集列名数据类型描述了constraint _ type nvarchar (146)的类型。Constraint _ name nvarchar (128)约束名称。Delete_actionnvarchar(9)表示删除操作为:无操作、级联或暂时不存在。
(仅适用于外键约束。)
UPDATE _ actionvarchar (9)表示更新操作为:无操作、级联或暂时不存在。
(仅适用于外键约束。)
status_enabledvarchar(8)表示是否启用约束:启用、禁用或暂时不存在。(仅适用于CHECK和FOREIGN KEY约束。)status _ for _ replication varchar(19)指示约束是否用于复制。(仅适用于CHECK和FOREIGN KEY约束。)constraint _ keys nvarchar (2078)构成约束的列名。或者(对于默认值和规则)定义默认值或规则的文本。
引用对象返回的其他结果集:列名数据类型描述表被nvarchar引用(516)标识引用该表的其他数据库对象。
如果name是系统存储过程或扩展存储过程,sp_help将返回此结果集。列数据类型描述Parameter_namenvarchar(128)存储过程参数名称。Typenvarchar(128)存储过程参数的数据类型。Lengthsmallint物理存储长度(字节)。精度(总位数)。小数点右边的位数。Param_ordersmallint参数的顺序。
注意
sp _ help进程仅在当前数据库中查找对象。

如果未指定name,sp_helptrigger将列出当前数据库中所有对象的名称、所有者和对象类型。Sp_helptrigger提供有关触发器的信息。
Permission
Execute权限默认授予public角色。
示例a .返回所有对象的信息
以下示例列出了sysobjects中每个对象的信息。

Master exec sp _ help
B .返回有关单个对象的信息
以下示例显示有关publishers表的信息。

使用pubs exec sp _ help publishers
查看存储过程的依赖项
sp _ dependencies

显示有关数据库对象依赖关系的信息(例如,依赖于表或视图的视图和过程,以及视图或过程所依赖的表和视图)。
不报告对当前数据库之外的对象的引用。
语法
sp _ depends[@ objname =]@ # object @ #
参数
[@objname =] @#object@#

检查其相关性的数据库对象。对象可以是表、视图、存储过程或触发器。对象的数据类型为varchar(776),没有默认值。
返回代码值
0(成功)或1(失败)
结果集
sp_depends显示两个结果集。

以下结果集显示了object所依赖的对象。
列名数据类型描述名称nvarchar(40)是具有相关性的项目名称。Typenvarchar(16)项目类型。Updatednvarchar(7)是否更新项目。Selectednvarchar(8)该项是否在SELECT语句中使用。Columnsysname有一个依赖列或参数。

以下结果集显示了依赖于object的对象。
列名数据类型描述名称nvarchar(40)是具有相关性的项目名称。Typenvarchar(16)项目类型。
注意
如果一个对象引用另一个对象,则认为前者依赖于后者。Sp _ dependencies通过查看sysdependencies表来确定依赖关系。
Permission
Execute权限默认授予public角色。
示例
以下示例列出了依赖于Customers表的数据库对象。

使用north wind exec sp _ depends @ # customers @ #
查看有关扩展存储过程的信息。

sp _ helptendedproc
显示当前定义的扩展存储过程以及该过程(函数)所属的动态链接库的名称。
语法
sp _ helpextendedProc[[@ funcname =] @ # procedure @ #]
参数[@ funcname =]@ # procedure @ #

要显示其信息的扩展存储过程的名称。过程的数据类型为sysname,默认值为NULL。
返回代码值
0(成功)或1(失败)
结果集列名数据类型描述namesysname扩展存储过程的名称。dllnvarchar(255)动态链接库的名称。
注意
当指定过程时,sp _ helpextendedproc将报告指定的扩展存储过程的信息。如果没有提供过程,
sp_helpextendedproc将返回所有扩展存储过程的名称以及每个扩展存储过程所属的DLL名称。
Permission
Execute权限默认授予public角色。
示例a .报告所有扩展存储过程的帮助
以下示例报告所有扩展存储过程的信息。

master exec sp _ helptendedproc
b .报告单个扩展存储过程的帮助
以下示例报告xp_cmdshell扩展存储过程的信息。

使用master exec sp _ helpextendedproc XP _ cmdshell

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » SQLServer联机丛书:查看存储过程

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情