返回給定鏈接服務(wù)器表的列信息,每列一行。如果指定 column,sp_columns_ex 只返回給定列的信息。
sp_columns_ex [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @table_catalog = ] 'table_catalog' ]
[ , [ @column_name = ] 'column' ]
[ , [ @ODBCVer = ] 'ODBCVer' ]
[@table_server =] 'table_server'
要返回其列信息的鏈接服務(wù)器的名稱(chēng)。table_server 的數(shù)據(jù)類(lèi)型為 sysname,沒(méi)有默認(rèn)值。
[@table_name =] 'table_name'
要返回其列信息的表的名稱(chēng)。table_name 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)值為 NULL。
[@table_schema =] 'table_schema'
要返回其列信息的表的架構(gòu)名。table_schema 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)值為 NULL。
[@table_catalog =] 'table_catalog'
要返回其列信息的表的目錄名。table_catalog 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)值為 NULL。
[@column_name =] 'column'
為其提供信息的數(shù)據(jù)庫(kù)列的名稱(chēng)。column 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)值為 NULL。
[@ODBCVer =] 'ODBCVer'
是當(dāng)前所使用的 ODBC 版本。ODBCVer 的數(shù)據(jù)類(lèi)型為 int,默認(rèn)值為 2,表示 ODBC 版本 2。有效值為 2 或 3。有關(guān)版本 2 和版本 3 的行為差別,請(qǐng)參見(jiàn) ODBC SQLColumns 規(guī)范。
無(wú)
列名 | 數(shù)據(jù)類(lèi)型 | 描述 |
---|---|---|
TABLE_CAT | sysname | 表或視圖限定符的名稱(chēng)。多種 DBMS 產(chǎn)品支持表的三部分命名方式 (qualifier.owner.name)。在 Microsoft® SQL Server™ 中,該列表示數(shù)據(jù)庫(kù)名。在某些產(chǎn)品中,該列表示表所在數(shù)據(jù)庫(kù)環(huán)境的服務(wù)器名。該字段可以為 NULL。 |
TABLE_SCHEM | sysname | 表或視圖所有者的名稱(chēng)。在 SQL Server 中,該列表示創(chuàng)建表的數(shù)據(jù)庫(kù)用戶(hù)的名稱(chēng)。該字段始終返回值。 |
TABLE_NAME | sysname | 表或視圖的名稱(chēng)。該字段始終返回值。 |
COLUMN_NAME | sysname | 所返回的 TABLE_NAME 每列的列名。該字段始終返回值。 |
DATA_TYPE | smallint | 與 ODBC 類(lèi)型指示符對(duì)應(yīng)的整型值。如果數(shù)據(jù)類(lèi)型無(wú)法映射到 ODBC 類(lèi)型,則為 NULL。本機(jī)數(shù)據(jù)類(lèi)型名稱(chēng)在 TYPE_NAME 列中返回。 |
TYPE_NAME | varchar(13) | 表示數(shù)據(jù)類(lèi)型的字符串?;A(chǔ) DBMS 提供此數(shù)據(jù)類(lèi)型的名稱(chēng)。 |
COLUMN_SIZE | int | 有效數(shù)字個(gè)數(shù)。PRECISION 列的返回值以 10 為基數(shù)。 |
BUFFER_LENGTH | int | 數(shù)據(jù)的傳輸大小。1 |
DECIMAL_DIGITS | smallint | 小數(shù)點(diǎn)右邊的數(shù)字個(gè)數(shù)。 |
NUM_PREC_RADIX | smallint | 數(shù)字?jǐn)?shù)據(jù)類(lèi)型的基數(shù)。 |
NULLABLE | smallint | 指定是否可以為空。 1 = 可以為 NULL。 |
REMARKS | varchar(254) | 該字段總是返回 NULL。 |
COLUMN_DEF | varchar(254) | 列的默認(rèn)值。 |
SQL_DATA_TYPE | smallint | SQL 數(shù)據(jù)類(lèi)型出現(xiàn)在描述符的 TYPE 字段時(shí)的值。該列與 DATA_TYPE 列相同,datetime 和 SQL-92 interval 數(shù)據(jù)類(lèi)型除外。該列始終返回值。 |
SQL_DATETIME_SUB | smallint | datetime 及 SQL-92 interval 數(shù)據(jù)類(lèi)型的子類(lèi)型代碼。對(duì)于其它數(shù)據(jù)類(lèi)型,該列返回 NULL。 |
CHAR_OCTET_LENGTH | int | 字符或整型數(shù)據(jù)類(lèi)型的列的最大字節(jié)長(zhǎng)度。對(duì)于所有其它數(shù)據(jù)類(lèi)型,該列返回 NULL。 |
ORDINAL_POSITION | int | 列在表中的順序位置。表中的第一列為 1。該列始終返回值。 |
IS_NULLABLE | varchar(254) | 表中的列是否可以為空。根據(jù) ISO 規(guī)則決定是否可以為空。遵從 ISO SQL 標(biāo)準(zhǔn)的 DBMS 無(wú)法返回空字符串。 YES = 列可以包含 NULL。 如果不知道是否可以為空,該列則返回零長(zhǎng)度字符串。 該列返回的值與 NULLABLE 列返回的值不同。 |
SS_DATA_TYPE | tinyint | SQL Server 數(shù)據(jù)類(lèi)型,由開(kāi)放式數(shù)據(jù)服務(wù)擴(kuò)展存儲(chǔ)過(guò)程使用。有關(guān)更多信息,請(qǐng)參見(jiàn)數(shù)據(jù)類(lèi)型。 |
通過(guò)查詢(xún)對(duì)應(yīng)于 table_server 的 OLE DB 提供程序的IDBSchemaRowset 接口的 COLUMNS 行集執(zhí)行 sp_columns_ex。table_name、table_schema、table_catalog 和 column 參數(shù)傳遞到此接口,用以限制返回的行。
如果指定鏈接服務(wù)器的 OLE DB 提供程序不支持 IDBSchemaRowset 接口的 COLUMNS 行集,sp_columns_ex 將返回空結(jié)果集。
執(zhí)行權(quán)限默認(rèn)賦予 public 角色。
下面的示例返回 titles 表的 title_id 列的數(shù)據(jù)類(lèi)型。
USE master
EXEC sp_columns_ex 'LONDON1', 'titles', 'dbo', 'pubs',
'title_id'
相關(guān)文章