Syntaxregel zur Spaltenbeschreibung
<null_condition> ::= NULL [IF] <condition> | DEFAULT NULL
Bei der Auswertung der Bedingung wird der kürzere der jeweiligen Vergleichswerte (Wert im Datenstrom oder Nullwertdarstellung) mit Leerzeichen aufgefüllt.
Vor dem Laden jeder Zeile des Datenstroms wird geprüft, ob die für die Spalten formulierte Bedingung zutrifft. Wenn ja, wird der NULL-Wert in diese Spalte eingefügt, andernfalls der Wert aus dem zugeordneten Feld des Datenstroms.
Sie geben mit dieser Syntaxregel in einem Kommando zum Laden von Daten an, unter welchen Bedingungen der NULL-Wert in eine Spalte der Zieltabelle geladen werden soll.
Die DEFAULT-NULL-Bedingung kann dann verwendet werden, wenn die Darstellung des NULL-Wertes im Datenstrom für alle zu ladenden Spalten der Zieltabelle dieselbe ist. Die sonst nach NULL IF POS anzugebende Zeichenkette, wird bei der DEFAULT-NULL-Bedingung nur einmal als NULL-Spezifikation (null_spec) angegeben.
Spalten, die Sie als Schlüsselspalten (KEY) oder als NOT NULL definiert haben, können nicht mit dem NULL-Wert geladen werden. Das Laden der Tabelle wird mit einer entsprechenden Fehlermeldung abgebrochen.
Wenn Sie beim Anlegen der Tabelle in der Datenbankinstanz für Spalten einen anderen Vorschlagswert (Default) als NULL definiert haben, kann kein NULL-Wert in die Spalten geladen werden. In diesem Fall setzt der Loader anstelle des NULL-Wertes den für die Spalte definierten Vorschlagswert ein.
Sie möchten die Daten des Datenstroms article.data in die Datenbankinstanz laden, wobei in einige Spalten der Zieltabelle der NULL-Wert geladen werden soll. Für jede dieser Spalten definieren Sie eine eigene Bedingung. Wenn diese erfüllt ist, wird der NULL-Wert eingetragen.
DATALOAD TABLE
article
ano 01-08
descr 09-39 NULL
IF POS 09-11 = ' '
stock 40-43 INTEGER NULL
IF POS 40-43 INTEGER < '0'
min_ord 44-45 INTEGER
price 46-53 DECIMAL (2) NULL
IF POS 1 <> 'X'
OR
POS 46-53 DECIMAL < '0'
weight 54-57 REAL
INSTREAM 'article.data' FORMATTED
Sie möchten die Daten des Datenstroms article.data in die Datenbankinstanz laden, wobei in einige Spalten der Zieltabelle der NULL-Wert geladen werden soll. Für alle im Kommando aufgeführten Spalten, für die DEFAULT NULL angegeben ist, gilt die gleiche Darstellung des NULL-Wertes '?'.
DATALOAD TABLE
article
ano 01-08
descr 09-39 DEFAULT NULL
stock 40-43 INTEGER
DEFAULT NULL
min_ord 44-45 INTEGER
price 46-53 DECIMAL (2)
DEFAULT NULL
weight 54-57 REAL
INSTREAM 'article.data' FORMATTED
NULL '?'