Datei Import in 2 Tabellen PK FK

Hallo zusammen,
ich muss Excel Listen mit Adressdaten nach PostgreSQL in zwei verschiedene Tabellen (Kunden und Ansprechpartner) importieren. FK von Ansprechpartner ist PK von Kunden. Bisher habe ich das umständlich gelöst: In der Excel Liste von Hand einen Hikfskey eingefügt, danach die Excel Liste in eine Hilfstabelle in PG importiert. Danach mit Select insert die Kundendaten in die Kundentabelle und anschliessend mit Select insert abhängig von meinem Hilfskey die Daten des Ansprechpartners in die Tabelle Ansprechpartner.
Es gibt doch sicher eine elegantere Methode diese Daten zu importieren. Kann ich z. B. nach jedem Datensatz Import der ersten Tabelle die letzte vergebene ID abfragen, und diese dann in der zweiten Tabelle als FK einfügen mit den restlichen Feldern?

Danke und Grüsse

Sollte funktionieren, die letzte ID liefert dir nextval(‘sequencename’). Diese kannst du einfach in einen Subselect in deinen Insert einfügen.

Wie genau sehen die Daten aus? Eine Zeile pro Kunde, in der ein oder mehrere Ansprechpartner stehen?

Wenn das so ist, kommt man vielleicht recht einfach, wenn man mit awk oder PERL solch eine Zeile zerlegt, dabei
einen PK generiert, und dann pro Zeile einen Kundensatz und entsprechend viele Sätze für die Ansprechpartner
erzeugt und das erst mal in 2 Dateien schreibt. Diese kannst Du dann ganz easy in PG mit COPY reinholen.

Andreas

Die letzte ID liefert lastval(), nextval() die näcste ID.

Andreas

Hallo zusammen
danke erstmal für die Infos. Es ist eine Zeile pro Kunde. In dieser steht auch der Ansprechpartner. Es gibt nur einen Ansprechpartner (Bei dem Import).
ich denke mal, dass der Lösungsweg von ads (nextval und lastval) der richtige ist. Wenn ich einen extern generierten PK verwende, habe ich ja keine Garantie dass es diesen schon gibt. Es sind im Moment ca 30.000 Datensätze und es werden jede Woche welche dazuimportiert.