CREATE INDEX ステートメント

既存のテーブルに新しいインデックスを作成します。

注: Microsoft Access 以外のデータベース の場合、Microsoft Access データベース エンジンでは、CREATE INDEX (ODBC リンク テーブルで擬似インデックスを作成する場合を除く) やデータ定義言語ステートメントを使用できません。 代わりに DAO の Create メソッドを使用してください。 詳細については、「解説」セクションを参照してください。

構文

CREATE [ UNIQUE ] INDEX index
ON table (field [ASC|DESC][, field [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

CREATE INDEX ステートメントには、次の指定項目があります。

引数

説明

index

作成されるインデックスの名前です。

table

インデックスを含む既存のテーブルの名前です。

field

インデックスを作成する 1 つ以上のフィールドの名前です。 単一フィールド インデックスを作成するには、テーブル名の後にフィールド名をかっこで囲んでリストします。 複数フィールド インデックスを作成するには、インデックスに含める各フィールドの名前を一覧表示します。 降順インデックスを作成するには、DESC キーを 予約語。それ以外の場合、インデックスは昇順であると見なされます。


解説

異なるレコードのインデックス付きフィールドで値の重複を禁止するには、UNIQUE 予約語を使用します。

オプションの WITH 句では、データ入力規則を強制できます。 次の操作を行うことができます。

  • DISALLOW NULL オプションを使用して、新しいレコードのインデックス付きフィールドの Null エントリを禁止します。

  • IGNORE NULL オプションを使用して、インデックス付きフィールドに Null 値を持つレコードがインデックスに含まれないようにします。

  • PRIMARY 予約語を使用して、インデックス付きフィールドを主キーとして指定します。 これはキーが固有であることを暗黙に示しているため、UNIQUE 予約語を省略することができます。

CREATE INDEX を使用すると、microsoft® SQL Server™ などの ODBC データ ソースの リンク テーブル に対して、インデックスを持たしていない擬似インデックスを作成できます。 擬似インデックスを作成するためにリモート サーバーへのアクセス許可やアクセス権は必要ありません。また、リモート データベースは擬似インデックスを知らず、影響を受けません。 リンクテーブルとネイティブ テーブルの両方に同じ構文を使用します。 通常は読み取り専用のテーブルに擬似インデックスを作成すると特に便利です。

また、ALTER TABLE ステートメントを使用して、単一フィールドまたは複数フィールドのインデックスをテーブルに追加したり、ALTER TABLE ステートメントまたは DROP ステートメントを使用して、ALTER TABLE や CREATE INDEX で作成されたインデックスを削除したりすることもできます。

注: 主キーが既にあるテーブルに新しいインデックスを作成する場合、PRIMARY 予約語を使用しないでください。使用すると、エラーが発生します。



ヘルプを表示

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×