1. 程式人生 > >sql server 查資料庫資料表字段資料型別

sql server 查資料庫資料表字段資料型別

sp_help

報告有關資料庫物件(sysobjects 表中列出的任何物件)、使用者定義資料型別或 Microsoft® SQL Server™ 所提供的資料型別的資訊。

語法

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) 物件型別
  2. 如果 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。
  3. 如果 name 是任意資料庫物件(而不是資料型別),那麼 sp_help 將返回此結果集,以及基於指定物件型別的其它結果集。
    列名 資料型別 描述
    Name nvarchar(128) 表名
    Owner nvarchar(128) 表的所有者
    Type nvarchar(31) 表的型別
    Created_datetime datetime 建立的日期表
     

    根據指定的資料庫物件,sp_help 返回其它結果集。

    如果 name 是系統表、使用者表或者檢視,則 sp_help 返回這些結果集(例外,對於檢視,不返回描述資料檔案在檔案組中所處位置的結果集)。

    1. 按列物件返回其它結果集:
      列名 資料型別 描述
      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。
    2. 按標識列返回的其它結果集:
      列名 資料型別 描述
      Identity nvarchar(128) 其資料型別被宣告為標識的列名。
      Seed numeric 標識列的起始值。
      Increment numeric 此列中的值所使用的增量。
      Not For Replication int 當重複登入(例如 sqlrepl)試圖在表中插入資料時,無法強制使用 IDENTITY 屬性:
      1 = True
      0 = False
    3. 按列返回的其它結果集:
      列名 資料型別 描述
      RowGuidCol sysname 全域性唯一識別符號列的名稱。
    4. 按檔案組返回的其它結果集:
      列名 資料型別 描述
      Data_located_on_filegroup nvarchar(128) 資料所在的檔案組(主要檔案組、次要檔案組或事務日誌)。
    5. 按索引返回的其它結果集:
      列名 資料型別 描述
      index_name sysname 索引名。
      index_description varchar(210) 索引的描述。
      index_keys nvarchar(2078) 生成索引所在列的列名。
    6. 按約束返回的其它結果集
      列名 資料型別 描述
      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) 構成約束的列名。或者(對於預設值和規則而言)指定義預設值或規則的文字。
    7. 按引用物件返回的其它結果集:
      列名 資料型別 描述
      Table is referenced by nvarchar(516) 識別引用表的其它資料庫物件。
  4. 如果 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