Eine DEFAULT-Spezifikation (default_spec) wird durch die Angabe des Schlüsselwortes DEFAULT und eines Vorschlagswerts (DEFAULT-Wert) gebildet. Die maximale Länge eines Vorschlagswerts beträgt 254 Zeichen.
<default_spec>
::= DEFAULT <literal> | DEFAULT NULL
| DEFAULT USER | DEFAULT USERGROUP | DEFAULT SYSDBA
| DEFAULT DATE | DEFAULT TIME | DEFAULT TIMESTAMP
| DEFAULT UTCDATE | DEFAULT UTCDIFF | DEFAULT TIMEZONE
| DEFAULT TRUE | DEFAULT FALSE
| DEFAULT TRANSACTION | DEFAULT STAMP
| DEFAULT SERIAL[(<unsigned_integer>)]
Wenn für eine Spalte eine DEFAULT-Spezifikation angegeben wurde, muss der Vorschlagswert (<literal>, NULL, USER,...) ein Wert sein, der in die Spalte eingefügt werden kann.
DEFAULT-Spezifikation |
Erläuterung |
DEFAULT <literal> |
Das Literal muss mit dem Datentyp der Spalte vergleichbar sein. |
DEFAULT USER |
Liefert den Benutzernamen des aktuellen Benutzers und kann nur für Spalten vom Datentyp [VAR]CHAR(n) bzw. CHAR(n) (n>=32) angegeben werden. |
DEFAULT USERGROUP |
Liefert für Mitglieder einer Benutzergruppe den Benutzergruppennamen bzw. den Benutzernamen für Benutzer, die keiner Benutzergruppe angehören. Diese DEFAULT-Spezifikation kann nur für Spalten vom Datentyp [VAR]CHAR(n) (n>=32) angegeben werden. |
DEFAULT SYSDBA |
Liefert den Namen des SYSDBA-Benutzers und kann nur für Spalten vom Datentyp [VAR]CHAR(n) (n>=32) angegeben werden (ab Version 7.4.04.02). |
DEFAULT DATE |
Liefert das aktuelle Datum und kann nur für Spalten vom Datentyp DATE angegeben werden. |
DEFAULT TIME |
Liefert die aktuelle Zeit und kann nur für Spalten vom Datentyp TIME angegeben werden. |
DEFAULT TIMESTAMP |
Liefert den aktuellen Zeitstempel und kann nur für Spalten vom Datentyp TIMESTAMP angegeben werden. |
DEFAULT UTCDATE |
Liefert den aktuellen UTC-Zeitstempel (Greenwich Mean Time) und kann nur für Spalten vom Datentyp TIMESTAMP angegeben werden (ab Version 7.4.04.02). |
DEFAULT UTCDIFF |
Liefert die Zeitdifferenz in Stunden zwischen Ihrer lokalen Zeitangabe und der UTC-Zeitangabe und kann nur für Spalten vom Datentyp FLOAT(p) (p>=4) oder FIXED(p,s) (s>=2, p>=s+2) angegeben werden (ab Version 7.4.04.02). |
DEFAULT TIMEZONE |
Liefert die Zeitdifferenz in der Form hhmmss zwischen Ihrer lokalen Zeitangabe und der UTC-Zeitangabe und kann nur für Spalten vom Datentyp FLOAT(p) (p>=6) oder FIXED(p,s) (s>=0, p>=s+6) angegeben werden. (ab Version 7.4.04.02) |
DEFAULT TRUE/DEFAULT FALSE |
Können nur für Spalten vom Datentyp BOOLEAN angegeben werden. |
DEFAULT TRANSACTION |
Liefert die Identifikation der aktuellen Transaktion und kann nur für Spalten vom Datentyp CHAR(n) BYTE (n>=8) angegeben werden. |
DEFAULT STAMP |
Liefert einen innerhalb des Datenbanksystems eindeutigen acht Zeichen langen Wert und kann nur für Spalten vom Datentyp CHAR(n) BYTE (n>=8) angegeben werden. Wenn eine Tabelle ohne Schlüsselspalte definiert wird, legt das Datenbanksystem implizit eine Schlüsselspalte SYSKEY CHAR(8) BYTE an. Die Schlüsselwerte in der Spalte SYSKEY sind jedoch nur innerhalb einer Tabelle eindeutig, d.h. in zwei voneinander verschiedenen Tabellen können gleiche Werte in der SYSKEY-Spalte existieren. Wenn eindeutige Schlüssel innerhalb des gesamten Datenbanksystems erwünscht sind, kann eine Schlüsselspalte mit der DEFAULT-Spezifikation STAMP definiert werden. |
DEFAULT SERIAL [(<unsigned_integer)]
|
Liefert einen Zahlengenerator für positive ganze Zahlen und kann nur für Spalten vom Datentyp INTEGER, SMALLINT und FIXED ohne Nachkommastellen angegeben werden (SERIAL). Durch Angabe einer Integer-Zahl ohne Vorzeichen (unsigned_integer) (muß größer als 0 sein) kann der erste vom Generator erzeugte Wert definiert werden. Fehlt diese Angabe, wird als erster Wert 1 geliefert. Wenn der Wert 0 in diese Spalte durch eine INSERT-Anweisung eingefügt wird, wird der aktuelle Zahlengeneratorwert geliefert, nicht der Wert 0. In jeder Tabelle darf es höchstens eine Spalte mit der DEFAULT-Spezifikation DEFAULT SERIAL geben. |