Einführung: Daten in Firebird importieren

Haben Sie Schwierigkeiten, Daten aus einer CSV-Datei in Ihre Firebird-Datenbank zu importieren? Vielleicht sind Ihnen Tools begegnet, die erwarten, dass Ihre CSV perfekt formatiert ist, einschließlich aller Details, die Ihre Ziel-Tabellen erfordern. Diese Situation kann frustrierend sein, besonders wenn Sie wissen, dass Ihre Daten nicht mit einer unkomplizierten Methode importiert werden können.

In diesem Blogbeitrag werden wir eine effektive Methode untersuchen, um INSERT SQL-Anweisungen aus Ihren CSV-Dateien zu generieren. Wir werden speziell häufige Probleme ansprechen, wie die Notwendigkeit, auf zusätzliche Tabellen für Lookup-Werte zuzugreifen und gespeicherte Prozeduren für eindeutige Identifikatoren zu verwenden.

Problembeschreibung

Beim Import von Daten in eine Firebird-Datenbank haben die gängigen Tools oft Einschränkungen. Sie unterstützen möglicherweise nicht:

  • Benutzerdefiniertes SQL in Insert-Anweisungen
  • Die Anforderung, Informationen aus anderen Tabellen (wie Stadt-IDs) zu recherchieren
  • Die Verwendung von gespeicherten Prozeduren zur Generierung eindeutiger GUIDs

Adressierte Bedürfnisse:

  • Sie müssen SQL generieren, das LOOKUP für Werte enthält (z. B. Stadt-IDs).
  • Sie möchten eine gespeicherte Prozedur implementieren, um GUIDs während des Insert-Vorgangs zu erstellen.

Um eine praktische Lösung zu bieten, lassen Sie uns aufschlüsseln, wie Sie dies mit einem Tool erreichen können, auf das Sie wahrscheinlich Zugriff haben: Microsoft Excel.

Lösung: Verwendung von Excel zur Erstellung von SQL-Anweisungen

Schritt 1: Importieren Sie Ihre CSV-Datei

  1. Öffnen Sie Excel und navigieren Sie zur Registerkarte Daten.
  2. Wählen Sie Daten abrufen und wählen Sie die CSV-Datei aus, die Sie importieren möchten.
  3. Laden Sie die Daten in ein Excel-Arbeitsblatt, wobei jede Spalte ein Datenfeld darstellt.

Schritt 2: Erstellen Sie die SQL-Insert-Anweisung

Sie können Excel-Formeln verwenden, um Ihre SQL INSERT-Anweisung zu konstruieren. Zum Beispiel, wenn Ihre CSV drei Spalten hat, die ID, NAME und CITY_NAME entsprechen, würden Sie String-Verknüpfungen verwenden, um Ihren INSERT-Befehl zu formulieren.

Hier ist eine Beispiel-Formel, um dies zu erreichen:

="INSERT INTO PERSON (ID, NAME, CITY_ID) VALUES((SELECT NEW_GUID FROM CREATE_GUID), '" & A1 & "', (SELECT CITY_ID FROM CITY WHERE NAME = '" & C1 & "'))"

Schritt 3: Ziehen Sie die Formel nach unten

  1. Platzieren Sie die obige Formel in einer neuen Spalte (z.B. Spalte D) neben Ihren bestehenden Daten in Spalte A (ID), B (NAME) und C (CITY_NAME).
  2. Klicken Sie auf die untere rechte Ecke der Zelle mit Ihrer Formel und ziehen Sie sie nach unten, um die Formel für alle Zeilen Ihrer Daten auszufüllen.

Schritt 4: Kopieren und Einfügen der SQL in eine Textdatei

Nachdem Sie die SQL-Anweisungen generiert haben, gehen Sie wie folgt vor:

  1. Wählen Sie die gesamte Spalte mit Ihren SQL-Anweisungen aus.
  2. Kopieren Sie sie (Strg + C).
  3. Öffnen Sie einen Texteditor (wie Notepad) und fügen Sie (Strg + V) die Anweisungen ein.
  4. Speichern Sie die Datei mit der Endung .sql.

Schritt 5: Führen Sie die SQL-Datei aus

Schließlich können Sie die SQL-Befehle in Ihrer Firebird-Datenbank mit Ihrer bevorzugten Methode ausführen (z. B. dem isql-Befehlszeilentool).

Fazit

Obwohl es vielleicht grob erscheint, Excel zur Generierung von SQL-Anweisungen zu verwenden, kann es eine “schnelle und einfache” Methode sein, um Ihre Daten effizient in eine Firebird-Datenbank einzufügen, wenn die Tools unzureichend sind. Sie können komplexe Einfügungen mit Subselects verwalten und gespeicherte Prozeduren nutzen, ohne Stunden mit der Konfiguration standardmäßiger Datenimport-Tools verbringen zu müssen.

Jetzt sind Sie mit einem unkomplizierten Ansatz ausgestattet, um SQL-Anweisungen aus CSV-Dateien zu generieren. Viel Spaß beim Coden!