## Spaltenbeschreibung

Die hier aufgeführten Syntaxregelen sind Bestandteile der Spaltenbeschreibung in den Kommandos zum Exportieren, Importieren und Aktualisieren von Anwendungsdaten.

Wenn Sie Schlüsselwörter als Spaltennamen verwenden wollen, müssen diese in doppelte Anführungszeichen eingeschlossen werden.

### Syntax

<export_column_spec> ::= <map_column_field>
| <field_assignment>

<import_column_spec> ::= <map_field_column> [<null_condition>]
| <column_assignment>

<update_column_spec> ::= <map_field_column>
| <column_assignment>

<map_column_field> ::= Ausgabespalte
<field_assignment> ::= Ausgabespalte

<map_field_column> ::= <column_name> <field_spec> <field_function>
<column_name> ::= <identifier>
<field_spec> ::= Positionsbeschreibung
<field_function> ::= <field_type> [HEX]
| <numerical_functions>
| <field_type> [HEX] <numerical_functions>

<field_type> ::= Datentypen
<numerical_functions> ::= <scale_spec>
| <round_or_trunc_spec>
| <scale_spec> <round_or_trunc_spec>

<scale_spec> ::= SCALE <unsigned_integer>
<round_or_trunc_spec> ::= ROUND <unsigned_integer>
| TRUNC <unsigned_integer>

<null_condition> ::= NULL-Wert-Darstellung

<column_assignment> ::= <column_name> '<literal>'
| <column_name> <column_function>
<column_name> ::= <identifier>
<column_function> ::= Importieren von beliebigen und speziellen Konstanten

<column_name> | Spaltenname siehe auch: SQL-Referenzhandbuch, Spaltenname (column_name)
HEX | Sie können HEX-Werte definieren.
SCALE <unsigned_integer> | Der Skalierungsfaktor unsigned_integer, kann positiv oder negativ sein Der Wert, auf den sich die Syntaxregel bezieht, wird mit der entsprechenden Zehnerpotenz multipliziert. siehe auch: SQL-Referenzhandbuch, Ganze Zahl ohne Vorzeichen (unsigned_integer)
ROUND <unsigned_integer> | TRUNC <unsigned_integer> | Anzahl der Stellen unsigned_integer nach dem Komma Der Wert muss zwischen 0 und 18 liegen. Wenn die Zahl keine Nachkommastellen hat, hat die Funktion keinen Effekt.
<column_name> '<literal>' | Angabe eines Literals als Spaltenwert siehe auch: SQL-Referenzhandbuch, Literal (literal)

### Beispiele

Im Abschnitt Loader-Tutorial, IMPORT TABLE, IMPORT COLUMNS, UPDATE COLUMNS und in den folgenden Abschnitten

### Erläuterung

Sie beschreiben mit der Syntaxregel import_column_spec in einem Kommando zum Importieren oder Aktualisieren von Anwendungsdaten (IMPORT TABLE, IMPORT COLUMNS, UPDATE COLUMNS) die zu importierenden Datensätze eines Datenstroms. Sie ordnen die Datenfelder des Datenstroms den Spalten der Zieltabelle zu und geben die externen Datentypen sowie die Bedingungen für das Importieren der Daten an. Angaben wie Spaltenname und Positionsbeschreibung finden auch in Beschreibungen der Ausgabespalten Verwendung.

IMPORT TABLE hotel.customer
DATA INSTREAM 'customer_csv.data'
cno 1
title 2
firstname 3
name 4
zip 5
address 6

IMPORT TABLE hotel.reservation
DATA INSTREAM 'reservation_fwv_binary.data' FWV BINARY
rno 01-04 INTEGER
cno 05-08 INTEGER
hno 09-12 INTEGER
type 13-18 CHAR
arrival 19-28 CHAR
departure 29-38 CHAR

Für jede Spalte, die Sie im Import-Kommando angeben, müssen Daten im Datenstrom vorhanden sein.

Wenn Sie im Kommando Spalten der Zieltabelle nicht angeben, wird beim Import die gesamte Spalte mit dem definierten Vorschlagswert für diese Spalte belegt. Wenn kein spezieller Vorschlagswert für die Spalte festgelegt ist, wird der NULL-Wert importiert.

IMPORT TABLE hotel.customer
DATA INSTREAM 'customer_csv.data'
cno 1
name 4
address 6

Die Werte der Spalten TITLE, FIRSTNAME und ZIP werden beim Import mit dem Vorschlagswert belegt.

Schlüsselspalten und Pflichtspalten (Spalten, die NOT NULL ohne Vorschlagswert definiert sind) müssen im Import-Kommando angegeben werden. Ansonsten wird die Verarbeitung mit einem SQL-Fehler abgebrochen.

IMPORT TABLE hotel.customer
DATA INSTREAM 'customer_csv.data'
name 4
zip 5
address 6

Das Kommando wird mit SQL-Fehler abgebrochen, da die Spalte CNO fehlt.

Wenn Sie im Import-Kommando keine Spalten für die Zieltabelle angeben, dann wird die Tabelle so importiert, als wären alle Spalten der Zieltabelle im Kommando angegeben worden. In diesem Fall müssen für alle Spalten der Zieltabelle Daten im Datenstrom vorhanden sein.

IMPORT TABLE hotel.customer
DATA INSTREAM 'customer_csv.data'

Für alle Spalten der Zieltabelle müssen Daten im Datenstrom vorhanden sein.

#### <map_field_column>

In einem Kommando zum Importieren oder Aktualisieren von Anwendungsdaten ordnen Sie mit der Syntaxregel map_field_column ein Datenfeld des Datenstroms einer Spalte der Zieltabelle zu.

Sie geben dazu den Spaltennamen, die Position und den externen Datentyp der Daten im Datenstrom an.

IMPORT TABLE hotel.reservation
DATA INSTREAM FILE 'reservation.data' FORMATTED BINARY
rno 01-04 INTEGER
cno 05-08 INTEGER
hno 09-12 INTEGER
type 13-18 INTEGER
arrival 19-28 CHAR
departure 29-38 CHAR

#### <field_function>

In einem Kommando zum Exportieren oder Importieren von Anwendungsdaten spezifizieren Sie mit der Syntaxregel field_function die Datenfelder im Datenstrom (externer Datentyp, Position etc.).

Sie können mit der Syntaxregel numerical_function numerische Datenwerte beim Importieren aus dem Datenstrom in die Zieltabelle sowie beim Exportieren aus der Quelltabelle in den Datenstrom skalieren (scale_spec), runden und/oder kürzen (round_or_trunc_spec).

Beachten Sie, dass Sie scale_spec immer vor round_or_trunc_spec angeben müssen.

EXPORT COLUMNS * FROM hotel.room
MAP COLUMNS
hno 1
type 2
free 3
price 4 SCALE -1 TRUNC 2
DATA OUTSTREAM 'room_csv.data'

Sie legen mit der Syntaxregel round_or_trunc_spec für eine Zahl die Anzahl der Stellen nach dem Komma fest.

● ROUND <unsigned_integer>
Der Wert wird ausgehend von der (<unsigned_integer>+1). Stelle nach dem Komma gerundet. Wenn diese Ziffer >= 5 ist, wird aufgerundet. Wenn sie < 5 ist, wird abgerundet. Das Ergebnis ist eine Zahl, bei der die (<unsigned_integer>+1). Stelle und alle folgenden Stellen 0 sind. Die vorderen Ziffern der Zahl können aber durch Aufrunden verändert worden sein.

● TRUNC <unsigned_integer>
Die (<unsigned_integer>+1). und alle folgenden Nachkommastellen des Wertes werden auf 0 gesetzt. Die ersten <unsigned_integer> Stellen nach dem Komma bleiben unverändert.

#### <column_assignment>

Sie können mit der Syntaxregel column_assignment festlegen, dass für die spezifizierte Spalte die angegebene beliebige oder spezielle Konstante als Wert importiert oder aktualisiert wird und nicht der entsprechende Wert aus dem Datenstrom.

Weitere Informationen dazu finden Sie im Abschnitt Importieren von beliebigen und speziellen Konstanten.

Wenn der Datenstrom leer ist, werden die im Kommando angegebenen Konstanten nicht importiert.

Siehe auch:

Ausgabespalte

EXPORT COLUMNS-Kommando

IMPORT COLUMNS-Kommando

IMPORT TABLE-Kommando

UPDATE COLUMNS-Kommando