共用方式為


INDEX_COL (Transact-SQL)

傳回索引資料行名稱。 如果是 XML 索引,則傳回 NULL。

適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。

主題連結圖示 Transact-SQL 語法慣例

語法

INDEX_COL ( '[ database_name . [ schema_name ] .| schema_name ]
    table_or_view_name', index_id , key_id )

引數

  • database_name
    這是資料庫的名稱。

  • schema_name
    這是索引所屬的結構描述名稱。

  • table_or_view_name
    這是資料表或索引檢視的名稱。 table_or_view_name 必須以單引號括住,而且可以用資料庫名稱和結構描述名稱完整限定。

  • index_id
    這是索引的識別碼。 index_ID 是 int。

  • key_id
    這是索引鍵資料行位置。 key_ID 是 int。

傳回類型

nvarchar (128)

例外狀況

當發生錯誤,或呼叫端沒有檢視物件的權限時,便會傳回 NULL。

使用者只能檢視使用者擁有或被授與某些權限之安全性實體的中繼資料。 這表示發出中繼資料的內建函數 (例如,INDEX_COL) 會在使用者不具有該物件任何權限時傳回 NULL。 如需詳細資訊,請參閱<中繼資料可見性組態>。

範例

A.利用 INDEX_COL 傳回索引資料行名稱

下列範例會傳回 PK_SalesOrderDetail_SalesOrderID_LineNumber 索引中兩個索引鍵資料行的資料行名稱。

USE AdventureWorks2012;
GO
SELECT 
    INDEX_COL (N'AdventureWorks2012.Sales.SalesOrderDetail', 1,1) AS
        [Index Column 1], 
    INDEX_COL (N'AdventureWorks2012.Sales.SalesOrderDetail', 1,2) AS
        [Index Column 2]
;
GO

結果集如下:

Index Column 1      Index Column 2
-----------------------------------------------
SalesOrderID        SalesOrderDetailID

請參閱

參考

運算式 (Transact-SQL)

中繼資料函數 (Transact-SQL)

sys.indexes (Transact-SQL)

sys.index_columns (Transact-SQL)