09.10.2013 Aufrufe

Dienstprogramme für das Versetzen von Daten - Handbuch und ...

Dienstprogramme für das Versetzen von Daten - Handbuch und ...

Dienstprogramme für das Versetzen von Daten - Handbuch und ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Robert, 1, 45.2, J<br />

Mike, 2, 76.9, K<br />

Leo, 3, 23.4, I<br />

Wenn die benutzerdefinierten Werte 1, 2 <strong>und</strong> 3 nicht <strong>für</strong> die Identitätsspalte verwendet<br />

werden sollen, könnte der Benutzer den folgenden Befehl IMPORT absetzen:<br />

db2 import from import.del of del method P(1, 3, 4)<br />

replace into table1 (c1, c3, c4)<br />

Aber auch diese Methode kann möglicherweise umständlich <strong>und</strong> fehlerträchtig<br />

sein, wenn die Tabelle zu viele Spalten enthält. Der Änderungswert<br />

identityignore vereinfacht die Syntax folgendermaßen:<br />

db2 import from import.del of del modified by identityignore<br />

replace into table1<br />

Beim Exportieren einer Tabelle mit einer Identitätsspalte in eine IXF-Datei können<br />

die Optionen REPLACE_CREATE <strong>und</strong> CREATE des Befehls IMPORT verwendet werden,<br />

um die Tabelle, einschließlich ihrer Identitätsspalteneigenschaften, erneut zu erstellen.<br />

Wird eine IXF-Datei aus einer Tabelle mit einer als GENERATED ALWAYS definierten<br />

Identitätsspalte erstellt, kann die <strong>Daten</strong>datei nur dann erfolgreich importiert<br />

werden, wenn der Änderungswert identityignore angegeben wird.<br />

Andernfalls werden alle Zeilen zurückgewiesen (SQL3550W).<br />

Anmerkung: Die Optionen CREATE <strong>und</strong> REPLACE_CREATE des Befehls IMPORT werden<br />

nicht weiter unterstützt <strong>und</strong> in zukünftigen Releases möglicherweise entfernt.<br />

Aspekte des Imports <strong>von</strong> generierten Spalten<br />

Mit dem Dienstprogramm IMPORT können Sie <strong>Daten</strong> in eine Tabelle mit generierten<br />

Spalten (Tabellen mit Identitätsspalte ausgenommen) importieren. Dabei spielt<br />

es keine Rolle, ob die Eingabedaten Werte <strong>für</strong> generierte Spalten enthalten.<br />

Sofern keine Änderungswerte <strong>für</strong> den Dateityp verwendet werden, die sich auf generierte<br />

Spalten beziehen, liegen der Ausführung des Dienstprogramms die folgenden<br />

Regeln zugr<strong>und</strong>e:<br />

v Für eine generierte Spalte wird immer dann ein Wert generiert, wenn die entsprechende<br />

Zeile in der Eingabedatei keinen Wert <strong>für</strong> die Spalte enthält oder einen<br />

Nullwert explizit vorgibt. Ist <strong>für</strong> eine generierte Spalte ein Wert angegeben,<br />

der kein Nullwert ist, wird die Zeile zurückgewiesen (SQL3550W).<br />

v Generiert der Server einen Nullwert <strong>für</strong> eine generierte Spalte, die keinen Nullwert<br />

enthalten darf, wird die <strong>Daten</strong>zeile, zu der dieses Feld gehört, zurückgewiesen<br />

(SQL0407W). Dies könnte beispielsweise dann eintreten, wenn eine generierte<br />

Spalte, die keinen Nullwert enthalten darf, als Summe zweier<br />

Tabellenspalten definiert wurde <strong>und</strong> <strong>für</strong> diese Spalten in der Eingabedatei Nullwerte<br />

zur Verfügung gestellt wurden.<br />

Sie können den Import <strong>von</strong> <strong>Daten</strong> in Tabellen mit generierten Spalten mit dem Änderungswert<br />

identitymissing <strong>für</strong> den Dateityp <strong>und</strong> mit dem Änderungswert<br />

identityignore <strong>für</strong> den Dateityp vereinfachen.<br />

Import <strong>von</strong> <strong>Daten</strong> ohne generierte Spalten<br />

Der Änderungswert generatedmissing vereinfacht <strong>das</strong> Importieren einer Tabelle<br />

mit generierten Spalten, wenn die Eingabedatendatei <strong>für</strong> alle in der Tabelle vorhandenen<br />

generierten Spalten keine Werte (auch keine Nullwerte) enthält. Angenommen,<br />

es wurde beispielsweise eine Tabelle mit der folgenden SQL-Anweisung definiert:<br />

<strong>Dienstprogramme</strong> <strong>und</strong> Referenzinformationen <strong>für</strong> <strong>das</strong> <strong>Versetzen</strong> <strong>von</strong> <strong>Daten</strong> 37

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!