## Importieren von beliebigen und speziellen Konstanten

Sie können mit der Syntaxregel column_assignment bei einer Spaltenbeschreibung festlegen, dass für jeden importierten Datensatz in die spezifizierte Spalte eine beliebige oder spezielle Konstante importiert werden soll, und nicht der Wert aus dem Datenstrom.

### Syntax

<column_assignment> ::= <column_name> '<literal>'
| <column_name> <column_function>

<column_name> ::= <identifier>

<column_function> ::= DATE | FALSE | STAMP | TIME | TIMESTAMP
| TRUE | USER | USERGROUP | <sequence_number>

<sequence_number> ::= SEQNO
| SEQNO <integer>
| SEQNO <integer> <integer>

<column_name> | Spalten name siehe auch: SQL-Referenzhandbuch, Spaltenname (column_name)
<literal> | Literal siehe auch: SQL-Referenzhandbuch, Literal (literal)
DATE | Aktuelles Datum Die Spalte, in die einer dieser Werte importiert werden soll, muss vom Typ DATE sein.
FALSE | Boolescher Wert FALSE
STAMP | Ein vom Datenbanksystem erzeugter eindeutiger Wert, der nur in Spalten des Typs CHAR(n) BYTE mit n >= 8 importiert werden kann
TIME | Aktuelle Zeit Die Spalte, in die einer dieser Werte importiert werden soll, muss vom Typ TIME sein.
TIMESTAMP | Aktueller Zeitstempel Die Spalte, in die einer dieser Werte importiert werden soll, muss vom Typ TIMESTAMP sein.
TRUE | Boolescher Wert TRUE
USER | Name des aktuellen Benutzers wird importiert.
USERGROUP | Name der Gruppe des aktuellen Benutzers wird importiert. Wenn dieser Benutzer keiner Benutzergruppe zugeordnet ist, wird der Name des aktuellen Benutzers importiert. Die Spalte, in die einer dieser Werte importiert werden soll, muss vom Typ CHAR(n) mit n >= 32 sein.
SEQNO | Sequenzwerte Startwert ist 0 und der Abstand zwischen den darauf folgenden Zahlen ist jeweils 1
SEQNO <integer> | Sequenzwerte Startwert und damit erster zu importierender Wert ist die ganze Zahl integer. Der Abstand zwischen den darauf folgenden Zahlen ist jeweils 1
SEQNO <integer> <integer> | Sequenzwerte Unmittelbar nach dem Schlüsselwort SEQNO wird der Startwert integer und damit der erste zu importierende Wert angegeben. Die folgende ganze Zahl gibt den Abstand zwischen den zu importierenden Werten an. siehe auch: SQL-Referenzhandbuch, CREATE SEQUENCE-Anweisung (create_sequence_statement)

### Beispiele

IMPORT TABLE hotel.reservation
DATA INSTREAM 'reservation_csv.data'
rno 1
cno 2
hno 3
type 4
arrival '20040207'
departure '20040220'

Die Konstanten 20040207 und 20040220 (Datum im Format INTERNAL) werden importiert.

IMPORT TABLE hotel.reservation
DATA INSTREAM 'reservation_csv.data'
rno 1
cno 2
hno 3
type 4
arrival DATE
departure 5

Die spezielle Konstante DATE wird importiert.

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

Die Angaben zur Sequenz (Startposition 3000, Abstand 100) werden importiert.

### Erläuterung

Geben Sie die beliebige Konstante literal bzw. spezielle Konstante column_function anstelle einer Positionsangabe im Kommando an. Für die entsprechende Spalte werden dann keine Daten aus dem Datenstrom importiert.

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

#### <column_name> '<literal>'

Um eine beliebige Konstante literal zu importieren, geben Sie anstelle einer Position die gewünschte Konstante an. Schließen Sie den Wert in einfache Anführungszeichen ein.

Der Loader behandelt die Konstante wie einen Klartextwert und wandelt ihn in den Datentyp der Zielspalte um.

Wenn die Konstante in eine numerische Spalte importiert werden soll, muss sie ein gültiges Zahlenformat haben.

#### <column_name> <column_function>

Sie können spezielle Konstanten column_function importieren. Folgende Wert sind möglich: DATE, FALSE, STAMP, TIME, TIMESTAMP, TRUE, USER, USERGROUP und sequence_number.

##### <sequence_number>

Sie können bei Verwendung der Syntaxregel sequence_number selbst erzeugte Nummerngeneratoren mit frei wählbarem Startwert und Abstand importieren.

Der berechenbare Zahlenbereich wird als zyklisch betrachtet, d. h. der Nachfolgewert des größten darstellbaren Wertes ist der neue kleinste darstellbare Wert. Auf diese Weise können beliebig viele und gegebenenfalls mehrfach wiederkehrende Folgenummern generiert werden.

Wenn Sie die Syntaxregel sequence_number verwenden, sollen Folgenummern entsprechend einer der drei Möglichkeiten generiert werden. Sowohl der Startwert als auch der Abstand können negativ sein. Für die Speicherung der Folgenummern ist eine Spalte des Typs FIXED(10) ausreichend.

Siehe auch:

IMPORT COLUMNS-Kommando

IMPORT TABLE-Kommando

UPDATE COLUMNS-Kommando