首页 > 数据库 >SQL Server联机丛书:查看存储过程

SQL Server联机丛书:查看存储过程

时间:2022-10-13 22:33:21浏览次数:47  
标签:存储 联机 对象 列名 sp 数据类型 Server SQL 128


几个系统存储过程用系统表提供有关存储过程的信息。使用这些存储过程可以:

  • 查看用于创建存储过程的 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

语法

sp_help [ [ @objname = ] name ]

参数

[@objname =] name

sysobjects 中的任意对象的名称,或者是在 systypes 表中任何用户定义数据类型的名称。Name 的数据类型为 nvarchar(776),默认值为 NULL。不能使用数据库名称。

返回代码值

0(成功)或 1(失败)

结果集

返回的结果集取决于 name

  1. 如果执行不带参数的sp_help,则返回当前数据库中现有的所有类型对象的摘要信息。

列名

数据类型

描述

Name

nvarchar(128)

对象名

Owner

nvarchar(128)

对象所有者

Object_type

nvarchar(31)

对象类型


  1. 如果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。


  1. 如果 name 是任意数据库对象(而不是数据类型),那么sp_help将返回此结果集,以及基于指定对象类型的其它结果集。

列名

数据类型

描述

Name

nvarchar(128)

表名

Owner

nvarchar(128)

表的所有者

Type

nvarchar(31)

表的类型

Created_datetime

datetime

创建的日期表


根据指定的数据库对象,sp_help

如果 name 是系统表、用户表或者视图,则 sp_help

  1. 按列对象返回其它结果集:
  2. 列名

    数据类型

    描述

    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。


  3. 按标识列返回的其它结果集:
  4. 列名

    数据类型

    描述

    Identity

    nvarchar(128)

    其数据类型被声明为标识的列名。

    Seed

    numeric

    标识列的起始值。

    Increment

    numeric

    此列中的值所使用的增量。

    Not For Replication

    int

    当重复登录(例如 sqlrepl)试图在表中插入数据时,无法强制使用 IDENTITY 属性:

    1 = True

    0 = False


  5. 按列返回的其它结果集:
  6. 列名

    数据类型

    描述

    RowGuidCol

    sysname

    全局唯一标识符列的名称。


  7. 按文件组返回的其它结果集:
  8. 列名

    数据类型

    描述

    Data_located_on_filegroup

    nvarchar(128)

    数据所在的文件组(主要文件组、次要文件组或事务日志)。


  9. 按索引返回的其它结果集:
  10. 列名

    数据类型

    描述

    index_name

    sysname

    索引名。

    index_description

    varchar(210)

    索引的描述。

    index_keys

    nvarchar(2078)

    生成索引所在列的列名。


  11. 按约束返回的其它结果集
  12. 列名

    数据类型

    描述

    constrain_type

    nvarchar(146)

    约束的类型。

    constrain_name

    nvarchar(128)

    约束名。

    delete_action

    nvarchar(9)

    指明 DELETE 操作是:无操作、层叠或暂缺。

    (仅适用于 FOREIGN KEY 约束。)

    update_action

    nvarchar(9)

    指明 UPDATE 操作是:无操作、层叠或暂缺。

    (仅适用于 FOREIGN KEY 约束。)

    status_enabled

    varchar(8)

    指明是否启用约束:启用、禁用或暂缺。(仅适用于 CHECK 和 FOREIGN KEY 约束。)

    Status_for_replication

    varchar(19)

    指明约束是否用于复制。(仅适用于 CHECK 和 FOREIGN KEY 约束。)

    constrain_keys

    nvarchar(2078)

    构成约束的列名。或者(对于默认值和规则而言)指定义默认值或规则的文本。


  13. 按引用对象返回的其它结果集:
  14. 列名

    数据类型

    描述

    Table is referenced by

    nvarchar(516)

    识别引用表的其它数据库对象。


  1. 如果 name 是系统存储过程或扩展存储过程,那么 sp_help 将返回此结果集。

列名

数据类型

描述

Parameter_name

nvarchar(128)

存储过程参数名。

Type

nvarchar(128)

存储过程参数的数据类型。

Length

smallint

最大物理存储长度(以字节为单位)。

Prec

int

精度(总的数字位数)。

Scale

int

小数点右边的数字个数。

Param_order

smallint

参数的顺序。


注释

sp_help 过程仅在当前数据库中查找对象。

当没有指定 name 时,sp_helptrigger 列出当前数据库中所有对象的名称、所有者和对象类型。sp_helptrigger

权限

执行权限默认授予 public

示例
A. 返回有关所有对象的信息

下面的示例列出有关 sysobjects 中每个对象的信息。

USE master EXEC sp_help


B. 返回有关单个对象的信息

下面的示例显示有关 publishers 表的信息。

USE pubs EXEC sp_help publishers


查看存储过程的相关性sp_depends

显示有关数据库对象相关性的信息(例如,依赖表或视图的视图和过程,以及视图或过程所依赖的表和视图)。
不报告对当前数据库以外对象的引用。

语法

sp_depends [ @objname = ] 'object'

参数

[@objname =] 'object'

被检查相关性的数据库对象。对象可以是表、视图、存储过程或触发器。Object 的数据类型为 varchar(776),没有默认值。

返回代码值

0(成功)或 1(失败)

结果集

sp_depends

下面的结果集显示 object

列名

数据类型

描述

name

nvarchar(40)

存在相关性的项目名称。

type

nvarchar(16)

项目类型。

updated

nvarchar(7)

是否更新项目。

selected

nvarchar(8)

项目是否用于 SELECT 语句。

column

sysname

存在相关性的列或参数。


下面的结果集显示依赖 object

列名

数据类型

描述

name

nvarchar(40)

存在相关性的项目名称。

type

nvarchar(16)

项目类型。


注释

若一个对象引用另一个对象,则认为前者依赖后者。sp_depends 通过查看 sysdepends

权限

执行权限默认授予 public

示例

下面的示例列出依赖 Customers

USE Northwind
EXEC sp_depends 'Customers'

查看关于扩展存储过程的信息

sp_helpextendedproc

显示当前定义的扩展存储过程,以及此过程(函数)所属动态链接库的名称。

语法

sp_helpextendedproc [ [@funcname = ] 'procedure' ]

参数

[@funcname =] 'procedure'

是要显示其信息的扩展存储过程的名称。procedure 的数据类型为 sysname,默认值为 NULL。

返回代码值

0(成功)或 1(失败)

结果集

列名

数据类型

描述

name

sysname

扩展存储过程的名称。

dll

nvarchar(255)

动态链接库的名称。


注释

指定 procedure 时,sp_helpextendedproc 报告指定扩展存储过程的信息。不提供 procedure 时,
sp_helpextendedproc

权限

执行权限默认授予 public

示例
A. 报告所有扩展存储过程的帮助

下面的示例报告所有扩展存储过程的信息。

USE master EXEC sp_helpextendedproc

B. 报告单个扩展存储过程的帮助

下面的示例报告 xp_cmdshell

USE master
EXEC sp_helpextendedproc xp_cmdshell

标签:存储,联机,对象,列名,sp,数据类型,Server,SQL,128
From: https://blog.51cto.com/u_627724/5754850

相关文章

  • SQL Server联机丛书:存储过程及其创建
    存储过程可以使得对数据库的管理、以及显示关于数据库及其用户信息的工作容易得多。存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。......
  • mysql数据表的管理
    1.进入数据库use数据库名;2.查看当前数据库下的所有表showtables;3.创建表createtable表名称(列名称类型,列名称类型,列名称类......
  • MySQL事务:事务隔离
    对数据进行并发操作时,事务可以确保数据的完整性,在银行、证券交易等业务场景需要用到它,本文将介绍MySQL事务是如何保证数据的一致性的。目录事务特性事务启动与提交事务回......
  • MySQL日志系统:binlog、redo log和undo log
    日志是MySQL数据库的重要组成部分,比如数据持久化、主从复制、数据回滚等操作都依赖日志系统来实现。本文将介绍MySQL的三种日志:归档日志binlog、重做日志redolog和回滚......
  • MySQL锁:全局锁、表级锁和行锁
    事务的实现离不开MySQL数据库的锁机制,设计锁的目的也是为了处理并发访问问题,本文简单介绍MySQL里面的全局锁、表级锁和行锁三类锁。目录全局锁表级锁表锁1、读锁实例2、......
  • Centos7部署单点mysql
    目录Centos7部署单点mysql一、部署mysql1.1、下载rpm包1.2、安装1.3、启动数据库,修改初始秘密二、创建远程用户,授权Centos7部署单点mysql一、部署mysql1.1、下载rpm包w......
  • 11.1 LAMP架构介绍 11.2 MySQL、MariaDB介绍 11.3/11.4/11.5 MySQL安装
     11.1LAMP架构介绍LAMP是Linux+Apache(httpd)+MySQL+PHP的简称•Linux:操作系统•Apache(httpd):WEB服务器软件,提供WEB服务•MySQL:关系型数据库用于存储数据(字符串)•......
  • MySQL双机热备
     1.MySQL双机热备原理双机热备就是使用MySQL提供的一种主从备份机制实现。所谓双机热备其实是一个复制的过程,复制过程中一个服务器充当主服务器,一个或多个服务器充当从服......
  • MYSQL-->客户端常用工具指令
    mysql这个mysql指的是mysql的客户端管理工具语法mysql选项数据库选项内容-u指定用户名-p指定密码-h指定ip地址-P指定端口-e执行SQL语句并退出-e选项可......
  • Mysql使用load命令报错
    问题1:ERROR1290(HY000):TheMySQLserverisrunningwiththe--secure-file-privoptionsoitcannotexecutethisstatement需要在my.cnf文件里面添加[mys......