sp_helpconstraint 和 sp_help



sp_helpconstraint

返回一个列表,其内容包括所有约束类型、约束类型的用户定义或系统提供的名称、定义约束类型时用到的列,以及定义约束的表达式(仅适用于 DEFAULT 和 CHECK 约束)。

语法

sp_helpconstraint [ @objname = ] 'table'
    [ , [ @nomsg = ] 'no_message' ]

参数

[@objname =] 'table'

返回其约束信息的表。指定的表对于当前数据库必须是本地的。table 的数据类型为 nvarchar(776),无默认值。

[@nomsg =] 'no_message'

是打印表名的可选参数。no_message 的数据类型为 varchar(5),默认值为 msgnomsg 表示取消打印。

返回代码值

0(成功)或 1(失败)

结果集

如果 sp_helpconstraint 参与到主键中,则它显示按降序索引的列。降序索引列将在结果集中列出,在其名称后带有减号 (-)。默认值(升序索引列)将仅按名称列出。

注释

执行 sp_help table 时将报告有关指定表的所有信息。若要仅查看约束信息,请使用 sp_helpconstraint

权限

执行权限默认授予 public 角色。

示例

下面的示例显示 authors 表的所有约束。


sp_help

报告有关数据库对象(sysobjects 表中列出的任何对象)、用户定义数据类型或 Microsoft® SQL Server™ 所提供的数据类型的信息。

语法

sp_help [ [ @objname = ] name ]

参数

[@objname =] name

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

返回代码值

0(成功)或 1(失败)

结果集

返回的结果集取决于 name 是否已指定、何时指定以及它是何种数据库对象等因素。

  1. 如果执行不带参数的 sp_help,则返回当前数据库中现有的所有类型对象的摘要信息。
    列名数据类型描述
    Namenvarchar(128)对象名
    Ownernvarchar(128)对象所有者
    Object_typenvarchar(31)对象类型

  2. 如果 name 是 SQL Server 数据类型或用户定义数据类型,则 sp_help 返回此结果集。
    列名数据类型描述
    Type_namenvarchar(128)数据类型名称。
    Storage_typenvarchar(128)SQL Server 类型名称。
    Lengthsmallint数据类型的物理长度(以字节为单位)。
    Precint精度(总的数字位数)。
    Scaleint小数点右边的数字位数。
    Nullablevarchar(35)指明是否允许 NULL 值:是或否。
    Default_namenvarchar(128)绑定到该类型的默认值名称。如果没有绑定默认值,则为 NULL。
    Rule_namenvarchar(128)绑定到该类型的规则名称。如果没有绑定默认值,则为 NULL。
    Collationsysname数据类型的排序规则。如果是非字符数据类型,则为 NULL。

  3. 如果 name 是任意数据库对象(而不是数据类型),那么 sp_help 将返回此结果集,以及基于指定对象类型的其它结果集。
    列名数据类型描述
    Namenvarchar(128)表名
    Ownernvarchar(128)表的所有者
    Typenvarchar(31)表的类型
    Created_datetimedatetime创建的日期表

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

    如果 name 是系统表、用户表或者视图,则 sp_help 返回这些结果集(例外,对于视图,不返回描述数据文件在文件组中所处位置的结果集)。

    1. 按列对象返回其它结果集:
      列名数据类型描述
      Column_namenvarchar(128)列名。
      Typenvarchar(128)列数据类型。
      Computedvarchar(35)指出是否计算了在列中的值:(是或否)。
      Lengthint以字节为单位的列长度。
      Precchar(5)列精度。
      Scalechar(5)列数值范围。
      Nullablevarchar(35)指出在列中是否允许 NULL 值:是或否。
      TrimTrailingBlanksvarchar(35)剪裁尾随空格(是或否)。
      FixedLenNullInSourcevarchar(35)只是为了向后兼容。
      Collationsysname列的排序规则。如果是非字符数据类型,则为 NULL。

    2. 按标识列返回的其它结果集:
      列名数据类型描述
      Identitynvarchar(128)其数据类型被声明为标识的列名。
      Seednumeric标识列的起始值。
      Incrementnumeric此列中的值所使用的增量。
      Not For Replicationint当重复登录(例如 sqlrepl)试图在表中插入数据时,无法强制使用 IDENTITY 属性:
      1 = True
      0 = False

    3. 按列返回的其它结果集:
      列名数据类型描述
      RowGuidColsysname全局唯一标识符列的名称。

    4. 按文件组返回的其它结果集:
      列名数据类型描述
      Data_located_on_filegroupnvarchar(128)数据所在的文件组(主要文件组、次要文件组或事务日志)。

    5. 按索引返回的其它结果集:
      列名数据类型描述
      index_namesysname索引名。
      index_descriptionvarchar(210)索引的描述。
      index_keysnvarchar(2078)生成索引所在列的列名。

    6. 按约束返回的其它结果集
      列名数据类型描述
      constrain_typenvarchar(146)约束的类型。
      constrain_namenvarchar(128)约束名。
      delete_actionnvarchar(9)指明 DELETE 操作是:无操作、层叠或暂缺。

      (仅适用于 FOREIGN KEY 约束。)

      update_actionnvarchar(9)指明 UPDATE 操作是:无操作、层叠或暂缺。

      (仅适用于 FOREIGN KEY 约束。)

      status_enabledvarchar(8)指明是否启用约束:启用、禁用或暂缺。(仅适用于 CHECK 和 FOREIGN KEY 约束。)
      Status_for_replicationvarchar(19)指明约束是否用于复制。(仅适用于 CHECK 和 FOREIGN KEY 约束。)
      constrain_keysnvarchar(2078)构成约束的列名。或者(对于默认值和规则而言)指定义默认值或规则的文本。

    7. 按引用对象返回的其它结果集:
      列名数据类型描述
      Table is referenced bynvarchar(516)识别引用表的其它数据库对象。

  4. 如果 name 是系统存储过程或扩展存储过程,那么 sp_help 将返回此结果集。
    列名数据类型描述
    Parameter_namenvarchar(128)存储过程参数名。
    Typenvarchar(128)存储过程参数的数据类型。
    Lengthsmallint最大物理存储长度(以字节为单位)。
    Precint精度(总的数字位数)。
    Scaleint小数点右边的数字个数。
    Param_ordersmallint参数的顺序。

注释

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

当没有指定 name 时,sp_helptrigger 列出当前数据库中所有对象的名称、所有者和对象类型。sp_helptrigger 提供有关触发器的信息。

权限

执行权限默认授予 public 角色。

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

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

USE master
EXEC sp_help
B. 返回有关单个对象的信息

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

USE pubs
EXEC sp_help publishers


USE pubs
EXEC sp_helpconstraint authors
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值