2009-04-09 5 views
3

Gibt es ein Oracle SQL-Tool, das Einfügeanweisungen aus einer Ergebnismenge erstellt? Wir dürfen derzeit nur ein Tool namens SQL Station verwenden. Ich möchte entweder ein Tool wie Rapid SQL oder CrazySQuirrell vorschlagen oder meinen eigenen wiederverwendbaren Teil von SQL erstellen.Gibt es ein Oracle SQL-Tool, das Insert-Anweisungen aus einer Ergebnismenge erstellt?

+0

In meiner derzeitigen Position verwenden wir Oracle SQL Developer. Es hat die Fähigkeit, Insert-Anweisungen aus einer Ergebnismenge zu erstellen, wie von Edwards erwähnt und von dpbradley vorgeschlagen. –

+0

Klicken Sie mit der rechten Maustaste auf die Tabelle, wählen Sie EXPORTIEREN, klicken Sie auf Save As WORKSHEET, klicken Sie auf NEXT, fügen Sie eine WHERE-Klausel hinzu, klicken Sie auf GO, klicken Sie auf OK, klicken Sie auf NEXT und dann auf FINISH. Sie können die Create DDL-Anweisungen loswerden und die Insert-Anweisungen kopieren. Obwohl es nicht so schön ist wie andere Tools, funktioniert es. –

+0

Nur ein weiterer [hilfreicher Link] (http://stackoverflow.com/a/1650969/707414) für eine ähnliche Frage – abi1964

Antwort

1

Ich habe diese Lösung gefunden, die ich jetzt verwende.Danke für die Hilfe. Es stellt sich heraus, dass wir auch SQL + verwenden können. Aus irgendeinem Grund kann ich es nicht in SQL Station ausführen.

KOPIEREN VON userid/password @ from_DB ZU userid/password> @to_DB INSERT toDB_tablename USING SELECT * FROM fromDB_tablename where ....;

commit;

1

Ja Blick auf Oracle SQL developer.Its kostenlos aus otn.oracle.com heruntergeladen werden

+0

hinzufügen Leider sind wir nicht berechtigt, dies zu verwenden. Ich bin dabei, eine langwierige Lösung zu finden. Wenn ich Zeit habe ... –

+0

Das ist in Ordnung ... es ist ein Buggy Turd IMHO sowieso. {-o) – Boydski

+0

Danke Edwards. Jetzt, wo ich irgendwo mit moderneren Tools arbeite, benutze ich das und es funktioniert gut. Siehe meine Kommentare im ursprünglichen Post für Details zur Verwendung. –

4

Wo wird dieses Ergebnis aus gesetzt zu kommen? Wenn Sie meinen, dass Sie eine SELECT, dann legen Sie die resultierenden Daten in einer anderen Tabelle ausführen möchten, können Sie dies in einer einzigen SQL-Anweisung tun:

INSERT INTO table2 (columnA, columnB) 
    SELECT columnA, columnB 
    FROM table1; 
+0

Danke, aber ich nehme die Daten aus einer Datenbank und verschiebe sie in eine andere. –

+0

Sie könnten eine Datenbankverbindung erstellen und die Abfrage für die entfernte Tabelle ausführen. –

+0

Danke Dave. Hast du Vorschläge, wie das geht? SQL Station ist alt und beschissen. Es ist jedoch alles, was wir verwenden dürfen. –

3

PL/SQL Developer dies auch tun wird. Ich habe sowohl den PL/SQL Developer als auch den Oracle SQL Developer verwendet, und meiner Meinung nach hat PL/SQL Developer eine glattere und konsistentere Oberfläche. Nicht sicher über SQL Developer, aber PL/SQL Dev. Sie können Ergebnissätze auch als CSV, XML und HTML exportieren.

Es verhält sich auch unter WINE OK, wenn Sie Linux ausführen.

3

Wenn Sie Befehlszeilen-Tools wollen, wird die kostenlose cx_OracleTools dies tun, und einige andere nette Dinge auch.

http://cx-oracletools.sourceforge.net/

  • CompileSource - ausführen Anweisungen in einer Datei,
  • Copydata auf Fehler überprüft - Kopieren von Daten aus einer Tabelle oder Sicht auf eine andere
  • DbDebugger - erlaubt ein einfaches Debuggen von PL/SQL
  • DescribeObject - beschreibt Objekte als SQL-Anweisungen für die Wiederherstellung
  • DescribeSchema - beschreiben mehrere Objekte als SQL-Anweisungen für die Wiederherstellung
  • DumpCSV - Dump die Ergebnisse einer select-Anweisung als comma separated values ​​
  • DumpData - Dump die Ergebnisse einer select-Anweisung als Insert-Anweisungen
  • ExportColumn - die Daten aus einer Spalte in eine Datei
  • Exportdata-Dump - Dump die Daten aus einer Datenbank in eine tragbare Dump-Datei
  • ExportObjects - beschreibt Objekt als SQL-Anweisungen für die Erholung in Dateien
  • ExportXML - Export von Daten aus einer Tabelle in eine einfache XML-Datei
  • GeneratePatch - generat e SQL-Skript aus einer Reihe von Objekten in einer anderen
  • GenerateView gehen - erzeugt eine view-Anweisung für eine Tabelle
  • ImportColumn - importieren Sie den Inhalt einer Datei in eine Spalte in der Datenbank
  • ImportData- - abgeladen die Daten importieren mit Exportdata
  • ImportXML - Import von Daten aus einer XML-Datei (wie die von ExportXML erstellt)
  • RebuildTable - SQL-Skript generiert die Tabelle
  • RecompileSource wieder aufbauen - neu kompiliert alle ungültigen Objekte in der Datenbank
0

In einer Prise, string contatenation Verwendung funktioniert gut für kleinere Anweisungen, die Sie bauen wollen:

Select 
    'Insert Into MyOtherTableTable Values(''' || MyMainTableColumn1 || ''' and ''' || MyMainTableColumn2 || ''')' 
From MyMainTable 
0

Rechts auf der Ergebnismenge der Abfrage klicken, wird ein Pop-up erhalten. Wählen Sie Exportdaten und fügen Sie ein. Sie werden nach dem Speicherort gefragt, an dem die Datei gespeichert werden soll, in der INSERT-Anweisungen generiert werden. Geben Sie den Dateinamen und den Pfad zum Speichern ein.

0

Ich weiß, es ist zu spät, aber es könnte für jemanden hilfreich sein. Wenn Sie zu der Tabelle gehen, können Sie die Daten "exportieren". Der zweite Schritt ist "Daten angeben", wo Sie einige Filter hinzufügen können. Dies funktioniert nur für eine Tabelle Daten.

Prost

0

Mit Oracle SQL-Entwickler und führen Sie als Skript (F5):

select /*insert*/ 
    * from dual; 

Ausgang:

Insert into "dual" (DUMMY) values ('X'); 

Sie können auch versuchen,/* csv * /“oder/* html */

Quelle: http://www.thatjeffsmith.com/archive/2012/05/formatting-query-results-to-csv-in-oracle-sql-developer/

SELECT /*csv*/ * FROM scott.emp; 
SELECT /*xml*/ * FROM scott.emp; 
SELECT /*html*/ * FROM scott.emp; 
SELECT /*delimited*/ * FROM scott.emp; 
SELECT /*insert*/ * FROM scott.emp; 
SELECT /*loader*/ * FROM scott.emp; 
SELECT /*fixed*/ * FROM scott.emp; 
SELECT /*text*/ * FROM scott.emp; 
Verwandte Themen