INDEXKEY_PROPERTY (Transact-SQL)
傳回索引鍵的相關資訊。 如果是 XML 索引,則傳回 NULL。
重要事項 |
---|
未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 sys.index_columns (Transact-SQL)。 |
語法
INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )
引數
object_ID
這是資料表或索引檢視的物件識別碼。 object_ID 是 int。index_ID
這是索引識別碼。 index_ID 是 int。key_ID
這是索引鍵資料行位置。 key_ID 是 int。property
這是將傳回之資訊所屬的屬性名稱。 property 是一個字元字串,它可以是下列值之一。值
說明
ColumnId
在索引的 key_ID 位置之資料行識別碼。
IsDescending
儲存索引資料行的順序。
1 = 遞減 0 = 遞增
傳回類型
int
例外狀況
當發生錯誤,或呼叫者沒有檢視物件的權限時,便會傳回 NULL。
使用者只能檢視使用者擁有或被授與某些權限之安全性實體的中繼資料。 這表示發出中繼資料的內建函數 (例如,INDEXKEY_PROPERTY) 會在使用者不具有該物件任何權限時傳回 NULL。 如需詳細資訊,請參閱<中繼資料可見性組態>。
範例
在下列範例中,會傳回 Production.Location 資料表中的索引識別碼 1 和索引鍵資料行 1 的這兩個屬性。
USE AdventureWorks2012;
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)