Generieren Sie SQL-Anweisungen zum Einfügen aus einer CSV-Datei

Brauche ich zum importieren einer csv-Datei in Firebird und ich verbrachte ein paar Stunden versucht, einige Werkzeuge und keines meine Bedürfnisse anzupassen.

Das Hauptproblem ist, dass alle Werkzeuge, die ich habe versucht, wie EMS Data Import und Firebird Data Wizard erwarten, dass meine csv - Datei enthält alle Informationen, die gebraucht von meinem Tisch.

Muss ich schreiben, einige benutzerdefinierte SQL in der insert-Anweisung, zum Beispiel, ich habe eine cvs-Datei mit den Namen der Stadt, aber meine Datenbank hat schon alle Städte in einer anderen Tabelle (normalisiert), brauche ich zum schreiben einer untergeordneten select-Anweisung in der Anweisung insert, die auch zum nachschlagen für die Stadt und schreibt seine ID, auch ich habe eine gespeicherte Prozedur zu cread GUIDS.

Meine Insert-Anweisung wäre so etwas wie dieses:

INSERT INTO PERSON (ID, NAME, CITY_ID) VALUES((SELECT NEW_GUID FROM CREATE_GUID), :NAME, (SELECT CITY_ID FROM CITY WHERE NAME = :CITY_NAME)

Ich weiß, dass es sehr einfach, eine Anwendung zu schreiben, um dies zu tun, aber ich weiß nicht, wie das Rad neu zu erfinden, und ich bin sicher, dass es einige tools gibt, es zu tun.

Könnt Ihr mir einige Ratschläge geben?

InformationsquelleAutor der Frage Fabio Gomes | 2008-08-11

Schreibe einen Kommentar