INDEXKEY_PROPERTY (Transact-SQL)

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

重要な注意事項重要

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

トピック リンク アイコン Transact-SQL 構文表記規則

構文

INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )

引数

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

  • index_ID
    インデックスの ID 番号です。 index_ID のデータ型は int です。

  • key_ID
    インデックス キー列の位置です。 key_ID のデータ型は int です。

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

    説明

    ColumnId

    インデックスの key_ID 位置の列 ID です。

    IsDescending

    インデックス列を格納する順序です。

    1 = 降順、0 = 昇順

戻り値の型

int 型

例外

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

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

使用例

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

関連項目

参照

INDEX_COL (Transact-SQL)

INDEXPROPERTY (Transact-SQL)

sys.objects (Transact-SQL)

sys.indexes (Transact-SQL)

sys.index_columns (Transact-SQL)