Anfang des InhaltsbereichsCONSTRAINT-Definition (constraint_definition) Dokument im Navigationsbaum lokalisieren

Eine CONSTRAINT-Definition ( constraint_definition ) definiert eine Integritätsbedingung (Beschränkungen für Spaltenwerte, siehe Datenintegrität), der alle Zeilen einer Tabelle genügen müssen.

Syntax

<constraint_definition> ::= CHECK <search_condition>
| CONSTRAINT <search_condition>
| CONSTRAINT <constraint_name> CHECK <search_condition>

search_condition, constraint_name

Beispiel

Einfaches Constraint (für eine Spalte), Beispieltabelle kunde

anrede CHAR (7) CONSTRAINT anrede IN ('Herr', 'Frau', 'Firma')

Kompliziertes Constraint (für mehrere Spalten), Beispieltabelle buchung

ankunft DATE NOT NULL
abreise DATE CONSTRAINT abreise > ankunft

Es wird überprüft, ob die Ankunft vor der Abreise liegt.

Erläuterung

Eine CONSTRAINT-Definition definiert eine Integritätsbedingung, die alle Spaltenwerte der durch die Spaltendefinition mit CONSTRAINT-Definition definierten Spalte erfüllen müssen.

Die CONSTRAINT-Definition einer Spalte wird beim Einfügen einer Zeile und beim Ändern einer Spalte, die in der CONSTRAINT-Definition auftritt, überprüft. Wird die CONSTRAINT-Definition verletzt, scheitert die INSERT- bzw. UPDATE-Anweisung.

Durch die Definition eines Constraints wird implizit festgelegt, daß der NULL-Wert nicht als Eingabe zugelassen ist.

Die Suchbedingung ( search_condition ) der CONSTRAINT-Definition darf keine Subquery enthalten.

Die Suchbedingung der CONSTRAINT-Definition darf Spaltennamen nur in der Form <column_name> enthalten.

Constraint-Name

Anzahl der Spalten in einer Suchbedingung

Ende des Inhaltsbereichs