## IMPORT TABLE

Mit dem IMPORT TABLE-Kommando können Sie die gesamten Daten einer Tabelle importieren.

### Voraussetzungen

Sie benötigen die Demo-Datenbank TESTDB. Legen Sie den Datenbankbenutzer MONA an, falls dieser noch nicht vorhanden ist. Legen Sie als Benutzer MONA das Schema HOTEL an, falls dieses noch nicht vorhanden ist.

Sie haben die erforderlichen Daten mit dem EXPORT TABLE-Kommando exportiert.

Eine Auswahl bestimmter Spaltenwerte ist mit dem IMPORT TABLE-Kommando nicht möglich, sondern nur mit dem IMPORT COLUMNS-Kommando.

Die Kommandos IMPORT TABLE ... PAGE und IMPORT TABLE ... PAGES WITH ... können nur vom Eigentümer der Tabelle ausgeführt werden. In allen anderen Fällen müssen Sie die Zugriffsberechtigung für die Tabelle haben, in die die Daten importiert werden sollen.

Starten Sie den Loader als Datenbankadministrator MONA und melden Sie sich an die Datenbank TESTDB an. Verwenden Sie den Sitzungsmodus.

loadercli –d testdb –u mona,red –s hotel

### Beispiele

In die Datenbank TESTDB sollen die Daten der gewünschten Tabelle importiert werden.

Durch die Angaben nach dem Schlüsselwort CATALOG und/oder DATA können Sie steuern, ob Sie den Datenbankkatalog und/oder die Anwendungsdaten importieren wollen.

Wenn Sie Tabellen importieren, legt der Loader auch alle für die Tabelle definierten Objekte und Verknüpfungen (Views, Fremdschlüsselbeziehungen zu anderen Tabellen...) an. Gegebenenfalls meldet der Loader, wenn die dafür erforderlichen Objekte nicht vorhanden sind und daher der Import nicht ausgeführt werden kann. Typische Fehlermeldungen sind z.B. die Fehlermeldungen -25451 und -25392. Wenn solche Fehler auftreten, wird der Import an dieser Stelle abgebrochen.

Testen Sie das Loader-Verhalten für verschiedene Tabellen. Legen Sie gegebenenfalls die erforderlichen abhängigen Objekte in der Datenbank TESTDB an. Für die Tabelle ROOM z.B. bestehen Abhängigkeiten zu den Tabellen CITY und HOTEL.

#### Import des Datenbankkatalogs einer Tabelle

Sie können alle Datenbankkataloginformationen einer Tabelle importieren.

IMPORT TABLE hotel.room
CATALOG INSTREAM 'room_ddl.catalog'

Der Datenbankkatalog (CATALOG) wird im Format DDL importiert.

Siehe auch:

Loader, Datenstrom

#### Import der Anwendungsdaten einer Tabelle

Sie können alle Anwendungsdaten einer Tabelle importieren.

IMPORT TABLE hotel.room
DATA INSTREAM 'room_csv.data'

Die Anwendungsdaten (DATA) werden im Format CSV (Vorschlagswert) importiert.

IMPORT TABLE hotel.room
DATA INSTREAM 'room_fwv.data' FWV
hno 1-5
type 6-11
free 12-31
price 32-51

Die Anwendungsdaten (DATA) werden im Format FWV importiert.

IMPORT TABLE hotel.room
DATA INSTREAM 'room_fwvbinary.data' FWV BINARY
hno 1-5
type 06-11
free 12-31
price 32-51

Die Anwendungsdaten (DATA) werden im Format FWV BINARY importiert.

Siehe auch:

Loader, CSV, FWV, FWV BINARY

IMPORT TABLE hotel.room
DATA INSTREAM 'room_pages.data' PAGES

Die Anwendungsdaten (DATA) werden im Format PAGES importiert.

IMPORT TABLE hotel.room
DATA INSTREAM 'room_records.data' RECORDS

Die Anwendungsdaten (DATA) werden im Format RECORDS importiert.

Da im Falle der Verwendung von PAGES ein datenbankeigenes Format (auf Basis einer Seite) verwendet wird und keine Log-Einträge geschrieben werden, ist dieser Import schneller als ein Import über eines der anderen Formate. Allerdings sind die im Format PAGES importierten Tabellen so lange schreibgeschützt, bis Sie eine Datensicherung durchgeführt haben.

Siehe auch:

Loader, PAGES, RECORDS

#### Performance-Steigerung

Durch das seitenweise Importieren von Anwendungsdaten können Sie einen IMPORT TABLE-Vorgang auch im Falle der Verwendung eines der Formate CSV, FWV [BINARY] wesentlich beschleunigen. Verwenden Sie in diesem Fall für den Datenstrom DATA INSTREAM die Möglichkeit PAGE WITH ... der Syntaxregel usage_spec, um einen seitenweisen Import der Daten in die Tabelle festzulegen.

IMPORT TABLE hotel.room
DATA INSTREAM 'room_csv.data'
PAGE WITH 80 % USAGE

Die Anwendungsdaten werden in die leere Tabelle ROOM importiert. Die Anwendungsdaten werden als Datensätze im Datenformat CSV aus dem Datenstrom gelesen und seitenweise mit dem Füllgrad 80 % in die Tabelle ROOM importiert.

Siehe auch:

Loader, Performance-Steigerung beim IMPORT TABLE

#### Import des Datenbankkatalogs und der Anwendungsdaten einer Tabelle

Sie können die gesamten Daten der angegebenen Tabelle importieren.

IMPORT TABLE hotel.room
CATALOG INSTREAM 'room_ddl.catalog'
DATA INSTREAM 'room_csv.data'

Beachten Sie die Reihenfolge der Syntaxelemente. Geben Sie stets zuerst das Syntaxelement zum Import des Datenbankkatalogs und dann das Syntaxelement zum Import der Anwendungsdaten an.

#### if_condition

Sie können einzelne Datensätze aus einem DATA-Datenstrom des Formats CSV, FWV oder RECORDS selektieren und nur diese in die angegebene Tabelle importieren. Im Falle eines Datenstroms im Format PAGES wird die IF-Bedingung ignoriert, da immer die gesamte Seite importiert wird. Beachten Sie die Reihenfolge der Syntaxelemente. Geben Sie zuerst die IF-Bedingung an.

IMPORT TABLE hotel.room
IF POS 4 < '200'
CATALOG INSTREAM 'room_ddl.catalog'
DATA INSTREAM 'room_csv.data'

In die Tabelle ROOM werden die Zeilen importiert, die in der Spalte PRICE einen Wert unter 200 haben.

Siehe auch:

Loader, Selektieren von Datensätzen

#### DUPLICATES-Klausel

Für die Steuerung des Verhaltens bei Auftreten von gleichen Tabellenzeilen verwenden Sie die DUPLICATES-Klausel. Beachten Sie die Reihenfolge der Syntaxelemente. Geben Sie die DUPLICATES-Klausel gegebenenfalls nach der IF-Bedingung an.

IMPORT TABLE hotel.room
UPDATE DUPLICATES
CATALOG INSTREAM 'room_ddl.catalog'
DATA INSTREAM 'room_csv.data'

Die Anwendungsdaten der Tabelle ROOM werden importiert und eine existierende Zeile mit dem importierten Datensatz überschrieben.

Siehe auch:

Loader, Duplicates-Klausel (IMPORT TABLE-Kommando)

#### Zusätzliche Protokollfunktionalität

Durch die Angabe eines Datenstroms nach dem Schlüsselwort PACKAGE werden die Kommando-Einträge in der Tabelle SYSLOADER.TRANSFORMATIONMODEL in den angegebenen Datenstrom exportiert. Damit haben Sie eine weitere Möglichkeit der Protokollierung. Geben Sie das PACKAGE-Syntaxelement stets als letztes Syntaxelement an.

IMPORT TABLE hotel.room
CATALOG INSTREAM 'room_ddl.catalog'
PACKAGE OUTSTREAM 'room_csv.package'

Loader, Zusätzliche Protokollfunktionalität (package_spec)

#### Behandlung von LONG-Werten

Wenn Sie die Formate CSV und FWV [BINARY] verwenden, werden für die LONG-Daten beim Export extra Datenströme angelegt.

Die Daten der Tabelle HOTEL des Schemas HOTEL sollen importiert werden. Die Tabelle HOTEL besitzt die LONG-Spalte INFO, deren Inhalt in einen eigenen Datenstrom exportiert wurde. Geben Sie das LOB-Syntaxelement nach dem DATA-Syntaxelement an.

IMPORT TABLE hot el.hotel
DATA INSTREAM 'hotel_csv.data'
LOB INSTREAM INFO 'hotel_info_csv.long'

Alle Spalten der Tabelle HOTEL werden importiert. Die LONG-Werte befinden sich im Datenstrom hotel_info_csv.long.

Wenn Sie die Formate PAGES und RECORDS verwenden, werden sämtliche Tabellendaten beim Export in einen Datenstrom exportiert, also auch die LONG-Daten. Ein LOB-Syntaxelement ist daher beim Import nicht erforderlich.

IMPORT TABLE hotel.hotel.
DATA INSTREAM 'hotel_records.data' RECORDS

Alle Spalten der Tabelle HOTEL einschließlich der LONG-Spalte INFO werden vom Datenstrom hotel_records.data importiert.

Siehe auch:

Loader, Exportieren und Importieren von LONG-Werten

### Vollständige Syntax des IMPORT TABLE-Kommandos

Die Kombination der Syntaxmöglichkeiten kann zu entsprechend komplexen Kommandos führen. Beachten Sie die Reihenfolge der Syntaxelemente.

IMPORT TABLE hotel.room
IF POS 4 < '200'
UPDATE DUPLICATES
CATALOG INSTREAM FILE 'room_ddl.catalog' DDL
DATA INSTREAM FILE 'room_csv.data' CSV
PAGE WITH 80 % USAGE
PACKAGE OUTSTREAM FILE 'room_csv.package' CSV

Eine vollständige Syntaxbeschreibung finden Sie in der Dokumentation Loader, IMPORT TABLE-Kommando.

Wenn Sie nicht die gesamten Daten einer Tabelle, sondern nur ausgewählte Spaltenwerte importieren wollen, wählen Sie das IMPORT COLUMNS-Kommando.

Siehe auch:

Weitere Kommandos zum Importieren