Anfang des InhaltsbereichsCREATE INDEX-Anweisung (create_index_statement) Dokument im Navigationsbaum lokalisieren

Die CREATE INDEX-Anweisung (create_index_statement) definiert einen Index einer Basistabelle (siehe Tabelle).

Syntax

<create_index_statement> ::=
  CREATE [UNIQUE] INDEX <table_name>.<column_name> [ASC | DESC]
| CREATE [UNIQUE] INDEX <index_name> ON <table_name> (<column_name> [ASC | DESC],...)

table_name, column_name, index_name

Erläuterung

Der Index wird über die angegebenen Spalten der Tabelle erzeugt. Der Sekundärschlüssel setzt sich aus den angegebenen Spalten der Tabelle zusammen, und zwar in der angegebenen Reihenfolge.

Die angegebene Tabelle muß eine existierende Basistabelle sein, darf jedoch keine temporäre Tabelle sein.

Wenn ein Index über genau eine Spalte erzeugt wurde, dann ist es nicht möglich, einen weiteren einspaltigen Index für diese Spalte zu erzeugen.

Die durch column_name definierte Spalte muß eine Spalte der angegebenen Tabelle sein. Diese Spalte darf keine LONG-Spalte sein. Alle Spaltennamen müssen paarweise verschieden sein.

Der aktuelle Benutzer muß das INDEX-Privileg für die Spalten besitzen.

Die Summe der internen Längen der identifizierten Spalten darf 1024 Zeichen nicht überschreiten.

Indizes unterstützen den Zugriff auf die Tabellendaten über Nicht-Schlüsselspalten. Ihre Pflege bedeutet jedoch erhöhten Aufwand bei der INSERT-, UPDATE oder DELETE-Anweisung.

CREATE [UNIQUE] INDEX <index_name> ON <table_name> (<column_name> [ASC | DESC],...)

Wenn Sie diese Anweisung verwenden, dürfen nicht mehr als 16 Spaltennamen verwendet werden. Der Indexname darf nicht mit einem bereits existierenden Indexnamen der Tabelle übereinstimmen. Es können höchstens 255 Indizes pro Tabelle mit dieser Anweisung erzeugt werden.

Wenn sich der definierte Index von einem auf der Tabelle bereits existierenden Index nur durch den Indexnamen unterscheidet, scheitert die CREATE INDEX-Anweisung.

UNIQUE

Durch diese Angabe wird sichergestellt, daß keine zwei Zeilen der angegebenen Tabelle in den indizierten Spalten dieselben Werte besitzen. Dabei gelten NULL-Werte bei einspaltigen Indizes als nicht identisch.

ASC | DESC

Die Indexwerte werden in aufsteigender oder absteigender Reihenfolge abgelegt. Fehlt die Angabe von ASC oder DESC, dann wird implizit ASC angenommen.

Ende des Inhaltsbereichs