INDEX_COL (Transact-SQL)
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體
傳回索引資料行名稱。 如果是 XML 索引,則傳回 NULL。
語法
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。 如需相關資訊,請參閱 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)