Anfang des Inhaltsbereichs

 null_condition 

Syntaxregel zur Spaltenbeschreibung

Syntax

<null_condition> ::= NULL [IF] <condition> | DEFAULT NULL

Erläuterung

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.

Verwendung

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 '?'

Ende des Inhaltsbereichs