Share via


ROUTINE_COLUMNS (Transact-SQL)

針對目前資料庫中目前使用者所能存取的資料表值函數所能傳回的每個資料行,各傳回一個資料列。

若要從這個檢視中擷取資訊,請指定 INFORMATION_SCHEMA.view_name 的完整名稱。

資料行名稱

資料類型

描述

TABLE_CATALOG

nvarchar(128)

資料表值函數的目錄或資料庫名稱。

TABLE_SCHEMA

nvarchar(128)

包含資料表值函數的結構描述名稱。

重要注意事項重要事項
請勿使用 INFORMATION_SCHEMA 檢視來判斷物件的結構描述。要尋找物件的結構描述,唯一可靠的方式就是查詢 sys.objects 目錄檢視或使用 OBJECT_SCHEMA_NAME 函數。

TABLE_NAME

nvarchar(128)

資料表值函數的名稱。

COLUMN_NAME

nvarchar(128)

資料行名稱。

ORDINAL_POSITION

int

資料行識別碼。

COLUMN_DEFAULT

nvarchar(4000)

資料行的預設值。

IS_NULLABLE

varchar(3)

如果這個資料行允許 NULL,就會傳回 YES。否則,便傳回 NO。

DATA_TYPE

nvarchar(128)

系統提供的資料類型。

CHARACTER_MAXIMUM_LENGTH

int

二進位資料、字元資料,或文字和影像資料的最大長度 (以字元為單位)。

如果是 xml 及大數值類型資料,便傳回 -1。否則,便傳回 NULL。如需詳細資訊,請參閱<資料類型 (Transact-SQL)>。

CHARACTER_OCTET_LENGTH

int

二進位資料、字元資料,或文字和影像資料的最大長度 (以位元組為單位)。

如果是 xml 及大數值類型資料,便傳回 -1。否則,便傳回 NULL。

NUMERIC_PRECISION

tinyint

近似數值資料、精確數值資料、整數資料或貨幣資料的有效位數。否則,便傳回 NULL。

NUMERIC_PRECISION_RADIX

smallint

近似數值資料、精確數值資料、整數資料或貨幣資料的有效位數基數。否則,便傳回 NULL。

NUMERIC_SCALE

tinyint

近似數值資料、精確數值資料、整數資料或貨幣資料的小數位數。否則,便傳回 NULL。

DATETIME_PRECISION

smallint

datetime 和 ISO integer 資料類型的子類型代碼。如果是其他資料類型,便傳回 NULL。

CHARACTER_SET_CATALOG

varchar(6)

傳回 master。如果資料行是字元資料或 text 資料類型,便指出字元集所在的資料庫。否則,便傳回 NULL。

CHARACTER_SET_SCHEMA

varchar(3)

一律傳回 NULL。

CHARACTER_SET_NAME

nvarchar(128)

如果這個資料行是字元資料或 text 資料類型,則傳回字元集的唯一名稱。否則,便傳回 NULL。

COLLATION_CATALOG

varchar(6)

一律傳回 NULL。

COLLATION_SCHEMA

varchar(3)

一律傳回 NULL。

COLLATION_NAME

nvarchar(128)

如果資料行是字元資料或 text 資料類型,則傳回排序順序的唯一名稱。否則,便傳回 NULL。

DOMAIN_CATALOG

nvarchar(128)

如果資料行是別名資料類型,這個資料行就是建立使用者自訂資料類型的資料庫名稱。否則,便傳回 NULL。

DOMAIN_SCHEMA

nvarchar(128)

如果資料行是一個使用者自訂資料類型,這個資料行就是包含使用者自訂資料類型之結構描述的名稱。否則,便傳回 NULL。

重要注意事項重要事項
請勿使用 INFORMATION_SCHEMA 檢視來判斷物件的結構描述。要尋找物件的結構描述,唯一可靠的方式就是查詢 sys.objects 目錄檢視或使用 OBJECT_SCHEMA_NAME 函數。

DOMAIN_NAME

nvarchar(128)

如果資料行是一個使用者定義資料類型,這個資料行就是使用者定義資料類型的名稱。否則,便傳回 NULL。

範例

下列範例會傳回資料庫中由資料表值函數傳回之每個資料行的相關資訊。

USE AdventureWorks;
GO

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, ORDINAL_POSITION, IS_NULLABLE, DATA_TYPE
FROM INFORMATION_SCHEMA.ROUTINE_COLUMNS;