Anfang des InhaltsbereichsSpaltendefinition (column_definition) Dokument im Navigationsbaum lokalisieren

Eine Spaltendefinition ( column_definition ) definiert eine Spalte einer Tabelle. Name und Datentyp jeder Spalte werden durch Spaltenname ( column_name ) und Datentyp ( data_type ) bestimmt. Die Spaltennamen müssen innerhalb einer Basistabelle eindeutig sein.

Syntax

<column_definition> ::= <column_name> <data_type> [<column_attributes>]
| <column_name> <domain_name> [<column_attributes>]

column_name, data_type, column_attributes, domain_name

Erläuterung

Wenn das Spaltenattribut ( column_attributes ) [PRIMARY] KEY angegeben ist, darf die CREATE TABLE-Anweisung keine Schlüsseldefinition ( key_definition) enthalten.

Eine Spaltendefinition darf nur aus einem Spaltennamen ( column_name ) bestehen, wenn in der CREATE TABLE-Anweisung ein QUERY-Ausdruck ( query_expression ) verwendet wird.

Wenn Spaltenname und Domänenname ( domain_name ), also der Name eines Wertebereiches, angegeben werden, muß durch den Domänennamen ein existierender Wertebereich identifiziert werden. Der angegebenen Spalte wird der Datentyp und die Länge des Wertebereichs zugewiesen. Falls der Wertebereich eine CONSTRAINT-Definition ( constraint_definition) besitzt, hat dies die gleiche Wirkung wie die Angabe der entsprechenden CONSTRAINT-Definition im Spaltenattribut der Spaltendefinition.

Spalten, die Bestandteil des Schlüssels sind, oder für die NOT NULL definiert wurde, heißen NOT NULL-Spalten. In diese kann ein NULL-Wert nicht eingefügt werden.

Wird für eine einzelne optionale Spalte ein Index erzeugt, so enthält dieser Index nicht die Zeilen, in denen für diese Spalte der NULL-Wert angegeben ist. Das führt dazu, daß bei bestimmten Anfragen nicht die für die Ausführungsgeschwindigkeit günstigste Suchstrategie über diesen Index gewählt werden kann. NOT NULL sollte deshalb für alle Spalten angegeben werden, bei denen der NULL-Wert nicht auftreten wird. Für Spalten, in denen der NULL-Wert auftreten könnte, sollte überlegt werden, ob eine DEFAULT-Spezifikation definiert werden kann, deren Wert statt des NULL-Wertes verwendet wird. Zeilen mit dem DEFAULT-Wert sind in einem Index enthalten.

Platzbedarf eines Spaltenwertes in Abhängigkeit vom Datentyp

Der Platzbedarf aller Spalten einer Tabelle darf 8088 Bytes nicht überschreiten.

Ende des Inhaltsbereichs