Share via


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 AdventureWorks2008R2;
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)