Ausgabe einer SQL-Query in PostgreSQL-Tabelle einspielen

Hubertus

Fleissiger Benutzer
Beiträge
57
Ich möchte die Ausgabe einer SQL-Query (von DB2 unter z/OS) in eine PostgreSQL-Tabelle einspielen.
  1. Gescheiterter Versuch: die Ausgabedatei enthält keine Trennzeichen, die Befüllung der einzelnen Felder ist unterschiedlich lang => falsche Aufteilung der Datensätze auf die Felder
  2. Gescheiterter Versuch: Ich gebe zwischen jedem Feld mit „;“ den Strichpunkt als Trennzeichen aus. Scheitert, weil in einigen Datenfeldern Strichpunkte enthalten sind.
  3. Statt Strichpunkt möchte ich jetzt zwischen den Feldern einen Tabulator ausgeben (weil ich hoffe, dass die Datenfelder keine Tabulatorzeichen enthalten).
    Nur weiß ich leider nicht, wie man in der Ausgabe SELECT feld1, “;“, feld2, … den Strichpunkt durch einen Tabulator ersetzt. Ist die Idee mit dem Tabulatorzeichen überhaupt sinnvoll oder gibt es da andere Möglichkeiten?
Für eine Hilfe wäre ich sehr dankbar.
 
Werbung:
Danke für Deine Antwort. Was ist, wenn in den Datenfeldern Kommas vorkommen?

Die werden passend gequotet.

Code:
test=*# create table foo (t text);
CREATE TABLE
Time: 82,278 ms
test=*# insert into foo values ('das, ist, ein, test');
INSERT 0 1
Time: 0,436 ms
test=*# copy foo to stdout csv;
"das, ist, ein, test"
Time: 0,130 ms
test=*# insert into foo values ('das, ist, "ein", test');
INSERT 0 1
Time: 0,199 ms
test=*# copy foo to stdout csv;
"das, ist, ein, test"
"das, ist, ""ein"", test"
Time: 0,114 ms
test=*#

Sollte DB/Halbe auch hinbekommen.
 
Werbung:
Zurück
Oben