CREATE DOMAIN
-Beispiele
-
Erstellen einer Domain, die Werte über 1.000 annehmen kann, mit einem Standardwert von 10.000.
CREATE DOMAIN CUSTNO AS INTEGER DEFAULT 10000 CHECK (VALUE > 1000);
-
Erstellen einer Domain, die die Werte 'Yes' und 'No' in dem beim Erstellen der Datenbank angegebenen Standardzeichensatz annehmen kann.
CREATE DOMAIN D_BOOLEAN AS CHAR(3) CHECK (VALUE IN ('Yes', 'No'));
-
Erstellen einer Domain mit dem Zeichensatz
UTF8
und der KollatierungssequenzUNICODE_CI_AI
.CREATE DOMAIN FIRSTNAME AS VARCHAR(30) CHARACTER SET UTF8 COLLATE UNICODE_CI_AI;
-
Erstellen einer Domain vom Typ
DATE
, die NULL nicht akzeptiert und das aktuelle Datum als Standardwert verwendet.CREATE DOMAIN D_DATE AS DATE DEFAULT CURRENT_DATE NOT NULL;
-
Erstellen einer Domain, die als Array aus 2 Elementen des Typs
NUMERIC(18, 3)
definiert ist. Der Array-Startindex ist 1.CREATE DOMAIN D_POINT AS NUMERIC(18, 3) [2];
NoteÜber einen Array-Typ definierte Domainn können nur zum Definieren von Tabellenspalten verwendet werden.Sie können keine Arraydomänen verwenden, um lokale Variablen in PSQL-Modulen zu definieren.
-
Erstellen einer Domain, deren Elemente nur Ländercodes sein können, die in der Tabelle
COUNTRY
definiert sind.CREATE DOMAIN D_COUNTRYCODE AS CHAR(3) CHECK (EXISTS(SELECT * FROM COUNTRY WHERE COUNTRYCODE = VALUE));
NoteDas Beispiel wird nur gegeben, um die Möglichkeit zu zeigen, Prädikate mit Abfragen in der Domainntestbedingung zu verwenden.Es wird nicht empfohlen, diesen Domainnstil in der Praxis zu erstellen, es sei denn, die Nachschlagetabelle enthält Daten, die niemals gelöscht werden.