分享方式:


INDEXKEY_PROPERTY (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

傳回索引鍵的相關資訊。 如果是 XML 索引,則傳回 NULL。

重要

SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 sys.index_columns (Transact-SQL)

Transact-SQL 語法慣例

語法

INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )  

引數

object_ID
這是資料表或索引檢視的物件識別碼。 object_IDint

index_ID
這是索引識別碼。 index_IDint

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

property
這是將傳回之資訊所屬的屬性名稱。 property 是一個字元字串,它可以是下列值之一。

描述
ColumnId 在索引的 key_ID位置之資料行識別碼。
IsDescending 儲存索引資料行的順序。

1 = 遞減 0 = 遞增

傳回型別

int

例外狀況

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

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

範例

在下列範例中,會傳回 1 資料表中的索引識別碼 1 和索引鍵資料行 Production.Location 的這兩個屬性。

USE AdventureWorks2022;  
GO  
SELECT   
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),  
        1,1,'ColumnId') AS [Column ID],  
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),  
        1,1,'IsDescending') AS [Asc or Desc order];  

以下為結果集:

Column ID   Asc or Desc order   
----------- -----------------   
1           0  
  
(1 row(s) affected)  

另請參閱

INDEX_COL (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.objects (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)