Anfang des Inhaltsbereichs

Diese Grafik wird im zugehörigen Text erklärt Wertebereiche Dokument im Navigationsbaum lokalisieren

Voraussetzungen

Sie benötigen die Demo-Daten für das SQL-Tutorial.

Starten Sie das Query Tool SQL Studio als Datenbankadministrator MONA mit dem Kennwort RED und melden Sie sich an die Demo-Datenbankinstanz DEMODB an.

Beispiele

Beim Anlegen einer Tabelle können Sie für jede Spalte einen Wertebereich definieren.

 

CREATE TABLE hotel.customer
(cno        
FIXED(4) PRIMARY KEY CONSTRAINT cno_cons CHECK cno > 0,
 title      
CHAR(7)  CONSTRAINT title_cons CHECK title IN ('Mr','Mrs','Company'),
 firstname  
CHAR(20),
 name       
CHAR(40) NOT NULL,
...)

Die Kundennummer ist maximal vierstellig, der Title 7 Zeichen lang, der Vorname 20 Zeichen lang und der Name 40 Zeichen lang.

Siehe auch:

SQL-Referenzhandbuch, StrukturlinkCREATE TABLE-Anweisung (create_table_statement)

 

Diese Wertebereiche können Sie vorab in einer Wertebereichsdefinition festlegen.

 

Anlegen eines Wertebereichs

Zum Anlegen eines Wertebereichs verwenden Sie die CREATE DOMAIN-Anweisung.

 

CREATE DOMAIN name_domain CHAR(20)

Namen sollen 20 Zeichen lang sein.

 

CREATE DOMAIN birthday_domain DATE DEFAULT DATE
  CONSTRAINT birthday_domain >
'1880-01-01'AND birthday_domain <= DATE

In der Wertebereichsdefinition birthday_domain für den Geburtstag wird als DEFAULT-Wert das aktuelle Tagesdatum gewählt. Das Geburtsdatum soll nicht vor dem 01.01.1880 liegen.

 

In einer Wertebereichsdefinition können ein DEFAULT-Wert und/oder eine CONSTRAINT-Definition angegeben werden.

     Die DEFAULT-Werte müssen den eventuell vorhandenen einschränkenden Bedingungen genügen.

     In der CONSTRAINT-Definition darf kein Constraint-Name vergeben werden und als Spaltenname wird der Wertebereichsname verwendet.

Verwenden des Wertebereichs

...

       1.      Löschen Sie gegebenenfalls die Tabelle person.
DROP TABLE hotel.person

       2.      Legen Sie die Tabelle person an.
CREATE TABLE hotel.person
(pno       FIXED(6) PRIMARY KEY,
 name      name_domain,
 city      CHAR(20))

       3.      Fügen Sie eine neue Spalte birthday mit dem Wertebereich birthday_domain hinzu.
ALTER TABLE hotel.person ADD birthday birthday_domain

Der Tabelle person wurde unter Berücksichtigung des Wertebereichs name_domain für Namen und mit der Spalte birthday mit der Wertebereichsdefinition birthday_domain angelegt.

 

Siehe auch:

SQL-Referenzhandbuch, StrukturlinkCREATE DOMAIN-Anweisung (create_domain_statement)

Systemtabellen auswerten, StrukturlinkCOLUMNS, StrukturlinkDOMAINS, StrukturlinkDOMAINCONSTRAINTS

 

Löschen eines Wertebereichs

Zum Löschen eines Wertebereichs verwenden Sie DROP DOMAIN-Anweisung:

 

DROP DOMAIN name_domain

Mit Hilfe dieser SQL-Anweisung löschen Sie die Wertebereichsdefinition. Tabellendefinitionen, die diese Wertebereichsdefinition verwendet haben, bleiben bestehen.

 

Siehe auch:

SQL-Referenzhandbuch, StrukturlinkDROP DOMAIN-Anweisung (drop_domain_statement)

Weitere Beispiele zur Datendefinition

Ende des Inhaltsbereichs