共用方式為


INDEX_COL (Transact-SQL)

適用於:SQL Server Azure SQL 資料庫 Azure 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_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)