54 Stimmen

Erzeugen von sql insert into für Oracle

Das einzige, wofür ich bei der Arbeit mit Oracle kein automatisiertes Tool habe, ist ein Programm, das INSERT INTO-Skripte erstellen kann.

Ich brauche es nicht unbedingt, also werde ich kein Geld dafür ausgeben. Ich frage mich nur, ob es etwas gibt, mit dem man INSERT INTO-Skripte für eine bestehende Datenbank erstellen kann, ohne viel Geld auszugeben.

Ich habe Oracle durchforstet, aber kein Glück gehabt, eine solche Funktion zu finden.

Es existiert in PL/SQL Developer, aber es gibt Fehler für BLOB-Felder.

50voto

Doug Porter Punkte 7611

Der kostenlose SQL Developer von Oracle kann dies:

http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html

Sie suchen einfach Ihre Tabelle, klicken mit der rechten Maustaste darauf und wählen Daten exportieren->Einfügen

So erhalten Sie eine Datei mit Ihren Einfügeanweisungen. Sie können die Daten auch im SQL Loader-Format exportieren.

30voto

Matas Vaitkevicius Punkte 53532

Das können Sie in PL/SQL Developer v10 tun.
1. Klicken Sie auf die Tabelle, für die Sie ein Skript erstellen möchten.
2. Klicken Sie auf Daten exportieren.
3. Prüfen Sie, ob die Tabelle ausgewählt ist, für die Sie Daten exportieren möchten.
4. Klicken Sie auf die Registerkarte SQL-Inserts.
5. Fügen Sie eine Where-Klausel hinzu, wenn Sie nicht die gesamte Tabelle benötigen.
6. Wählen Sie die Datei aus, in der Sie Ihr SQL-Skript finden wollen.
7. Klicken Sie auf exportieren.
enter image description here

7voto

teopost Punkte 121

Verwenden Sie eine SQL-Funktion (ich bin der Autor ):

Verwendung:

select fn_gen_inserts('select * from tablename', 'p_new_owner_name', 'p_new_table_name')
from dual;

wo:

p_sql            – dynamic query which will be used to export metadata rows
p_new_owner_name – owner name which will be used for generated INSERT
p_new_table_name – table name which will be used for generated INSERT

p_sql ist in diesem Beispiel 'select * from tablename'.

Den Original-Quellcode finden Sie hier:

Ashish Kumar's Skript erzeugt anstelle eines SQL-Blocks einzeln verwendbare Insert-Anweisungen, unterstützt aber weniger Datentypen.

4voto

John D Punkte 65

Ich habe nach einer Lösung für dieses Problem gesucht und sie heute gefunden. Hier ist, wie Sie es tun können.

  1. Oracle SQL Developer Query Builder öffnen

  2. Die Abfrage ausführen

  3. Klicken Sie mit der rechten Maustaste auf die Ergebnismenge und exportieren Sie

    http://i.stack.imgur.com/lJp9P.png

3voto

Hans-Peter Störr Punkte 24030

Sie könnten in der Datenbank etwas Ähnliches ausführen:

select "insert into targettable(field1, field2, ...) values(" || field1 || ", " || field2 || ... || ");"
from targettable;

Etwas anspruchsvoller ist aquí .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X