INDEX_COL (Transact-SQL)

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

主題連結圖示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 AdventureWorks2008R2;
GO
SELECT 
    INDEX_COL (N'AdventureWorks2008R2.Sales.SalesOrderDetail', 1,1) AS
        [Index Column 1], 
    INDEX_COL (N'AdventureWorks2008R2.Sales.SalesOrderDetail', 1,2) AS
        [Index Column 2]
;
GO

結果集如下:

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