INDEXKEY_PROPERTY (Transact-SQL)

更新 : 2006 年 7 月 17 日

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

ms186773.note(ja-jp,SQL.90).gif重要 :
この機能は、将来のバージョンの 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 が返されます。

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

次の例では、両方のプロパティが Production.Location テーブルのインデックス ID 1、キー列 1 に対して返されます。

USE AdventureWorks;
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)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

追加内容 :
  • 「例外」を追加しました。