Anfang des InhaltsbereichsADD-Definition (add_definition) Dokument im Navigationsbaum lokalisieren

Durch Angabe einer ADD-Definition ( add_definition ) in der ALTER TABLE-Anweisung können Sie zusätzliche Tabelleneigenschaften definieren.

Syntax

<add_definition> ::= ADD <column_definition>,...
| ADD (<column_definition>,...)
| ADD <constraint_definition>
| ADD <referential_constraint_definition>
| ADD <key_definition>

column_definition, constraint_definition, key_definition, referential_constraint_definition

Beispiel

Mit der folgenden Anweisung werden in die Tabelle kunde zwei weitere Spalten eingefügt. Sie enthalten zunächst in allen Zeilen den NULL-Wert.

ALTER TABLE kunde ADD (telefon FIXED (8), strasse CHAR (15))

Mit den neuen Spalten kann sofort gearbeitet werden.

Erläuterung

Hinzufügen einer Spaltendefinition: ADD <column_definition>

Die Angabe eines Domänennamens in einer Spaltendefinition ist nur dann zulässig, wenn der Wertebereich ohne Angabe einer DEFAULT-Spezifikation definiert wurde.

Durch die Angabe von Spaltendefinitionen können Sie die in der ALTER TABLE-Anweisung angegebene Tabelle um diese Spalten erweitern. Die maximal zulässige Anzahl von Spalten sowie die maximale Länge einer Zeile darf hierdurch nicht überschritten werden.

Hinweis

Jede Spalte hat einen um ein Zeichen erhöhten Platzbedarf (normaler Platzbedarf siehe Platzbedarf eines Spaltenwertes in Abhängigkeit vom Datentyp), falls die dort beschriebene Länge kleiner als 31 Zeichen ist und die Spalte nicht den Datentyp VARCHAR besitzt.

Keine der neu definierten Spalten darf den Datentyp LONG besitzen. Die Spaltennamen ( column_name ) müssen voneinander verschieden sein und sich von allen Namen von bereits in der Tabelle existierenden Spalten unterscheiden.

Die neu definierten Spalten enthalten in allen Zeilen den NULL-Wert. Falls der NULL-Wert eine CONSTRAINT-Definition der Tabelle verletzt, scheitert die ALTER TABLE-Anweisung.

In jeder anderen Hinsicht hat die Angabe einer Spaltendefinition dieselbe Wirkung wie die Angabe einer Spaltendefinition in einer CREATE TABLE-Anweisung.

Hinzufügen einer CONSTRAINT-Definition: ADD <constraint_definition>

Alle Zeilen der Tabelle müssen die durch die Suchbedingung der CONSTRAINT-Definition definierte Bedingung erfüllen.

Hinzufügen einer referntiellen CONSTRAINT-Definition: ADD <referential_constraint_definition>

Für die in der ALTER TABLE-Anweisung angegebene Tabelle wird eine Integritätsbedingung definiert. Die in der referentiellen CONSTRAINT-Definition angegebenen Spalten müssen Spalten der Tabelle sein. Alle Zeilen der Tabelle müssen die durch die referentielle CONSTRAINT-Definition definierte Integritätsbedingung erfüllen.

Hinzufügen einer Schlüsseldefinition: ADD <key_definition>

Für die in der ALTER TABLE-Anweisung angegebene Tabelle wird ein Schlüssel definiert. Die Tabelle darf zum Zeitpunkt der Ausführung nur die vom Datenbanksystem vergebene Schlüsselspalte SYSKEY besitzen. Die in der Schlüsseldefinition angegebenen Spalten müssen Spalten der Tabelle sein und die Schlüsseleigenschaften erfüllen (keine der Spalten darf NULL-Werte enthalten, keine zwei Zeilen dürfen in allen in der Schlüsseldefinition definierten Spalten die gleiche Werte besitzen). Der neue Schlüssel wird in den Metadaten der Tabelle vermerkt. Die Schlüsselspalte SYSKEY entfällt. Dieser Vorgang dauert für Tabellen mit vielen Zeilen recht lange, da umfangreiche Kopiervorgänge durchgeführt werden.

Ende des Inhaltsbereichs