INDEXKEY_PROPERTY (Transact-SQL)

適用対象:SQL ServerAzure SQL Managed Instance

インデックス キーについての情報を返します。 XML インデックスに対して NULL を返します。

重要

この機能は、 SQL Serverの将来のバージョンで削除される予定です。 新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。 代わりに、sys.index_columns (Transact-SQL) を使用してください。

Transact-SQL 構文表記規則

構文

INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

object_ID
テーブルまたはインデックス付きビューのオブジェクト ID 番号です。 object_IDint です。

index_ID
インデックスの ID 番号です。 index_ID intです。

key_ID
インデックス キー列の位置です。 key_ID is int.

property
情報が返されるプロパティの名前です。 プロパティ 、文字の文字列は、次の値のいずれかを指定することができます。

説明
ColumnId 列の ID で、key_ID、インデックスの位置。
IsDescending インデックス列を格納する順序です。

1 = 降順、0 = 昇順

戻り値の型

int

例外

エラーが発生した場合、または呼び出し元にオブジェクトの表示権限がない場合は、NULL が返されます。

ユーザーが所有しているか、または権限を与えられている、セキュリティ保護可能なリソースのメタデータのみを表示できます。 つまり、オブジェクトに対する権限がユーザーに与えられていない場合、メタデータを生成する組み込み関数 (INDEXKEY_PROPERTY など) が NULL を返す可能性があります。 詳細については、「 Metadata Visibility Configuration」を参照してください。

次の例では、両方のプロパティが 1 テーブルのインデックス ID 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)