Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Ferndatenzugriff und Arbeit mit Massendaten » Daten importieren und exportieren » Daten importieren

 

Tabellenstrukturen für den Datenimport

Die Struktur der Quelldaten braucht nicht mit der Struktur der Zieltabelle übereinzustimmen. Beispiel: Die Spalten-Datentypen können verschieden oder in unterschiedlicher Reihenfolge sein, bzw. es kann zusätzliche Werte in den zu importierenden Daten geben, die nicht zu Spalten in der Zieltabelle passen.

Tabelle oder Daten neu strukturieren

Wenn Sie wissen, dass die Struktur der zu importierenden Daten nicht der Struktur der Zieltabelle entspricht, haben Sie folgende Möglichkeiten:

  • Sie stellen eine Liste mit Spaltennamen bereit, die in die Anweisung LOAD TABLE geladen wird.

  • Sie ordnen die Importdaten mithilfe einer Variante der INSERT-Anweisung und einer globalen temporären Tabelle neu an, damit sie in die Tabelle passen.

  • Sie verwenden die INPUT-Anweisung, um eine bestimmte Menge oder Reihenfolge von Spalten anzugeben.

Spalten mit NULL zulassen

Wenn die zu importierende Datei Daten für eine Teilmenge der Spalten in einer Tabelle enthält oder die Spalten in einer anderen Reihenfolge erscheinen, können Sie auch die DEFAULTS-Option der LOAD TABLE-Anweisung verwenden, um die Leerstellen zu füllen und nicht zueinander passende Tabellenstrukturen zusammenzuführen.

  • Wenn DEFAULTS auf OFF gesetzt ist, erhalten alle Spalten, die in der Spaltenliste nicht vorhanden sind, NULL. Wenn DEFAULTS auf OFF gesetzt ist und eine nicht nullwertfähige Spalte aus der Spaltenliste ausgelassen wird, versucht der Datenbankserver, die leere Zeichenfolge in den Datentyp der Spalte zu konvertieren.

  • Wenn DEFAULTS auf ON gesetzt ist und die Spalte einen Standardwert hat, wird dieser Wert benutzt.

Sie können beispielsweise einen Standardwert für die Spalte "City" in der Tabelle "Customers" definieren und dann neue Zeilen in die Tabelle "Customers" laden, indem Sie eine LOAD TABLE-Anweisung wie die folgende verwenden:

ALTER TABLE Customers
ALTER City DEFAULT 'Waterloo';
LOAD TABLE Customers ( Surname, GivenName, Street, State, Phone )
FROM 'new_customers.txt'
DEFAULTS ON;

Da für die Spalte "City" kein Wert angegeben wird, wird der Standardwert eingesetzt. Falls DEFAULTS OFF angegeben wurde, würde eine leere Zeichenfolge in die Spalte "City" eingesetzt.