分享方式:


INDEX_COL (Transact-SQL)

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

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

Transact-SQL 語法慣例

Syntax

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

注意

若要檢視 SQL Server 2014 (12.x) 和舊版的 Transact-SQL 語法,請參閱 舊版檔

引數

database_name
這是資料庫的名稱。

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

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

index_id
這是索引的識別碼。 index_IDint

key_id
這是索引鍵資料行位置。 key_IDint

傳回型別

nvarchar (128)

例外狀況

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

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

範例

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

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

USE AdventureWorks2022;  
GO  
SELECT   
    INDEX_COL (N'AdventureWorks2022.Sales.SalesOrderDetail', 1,1) AS  
        [Index Column 1],   
    INDEX_COL (N'AdventureWorks2022.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)