2016-09-01 3 views
0

Wenn ich Daten als Insert-Anweisung exportieren generiert es (abc.sql) riesige Insert-Anweisung, die ich einzeln ausführen muss. Es ist nicht möglich, die 10000-Insert-Anweisung nacheinander auszuführen. Also, wie man Bulk einfügen Anweisung ausgewählter Daten von Kröte, die ich mit einem einzigen Klick oder ein paar Änderungen ausführen kann.Export Bulk einfügen Anweisung von Toad

Antwort

0

Es gibt keine Masseneinfügung. Sie könnten Datensätze von einer Tabelle in eine andere einfügen, z. B. "in Tabelle einfügen (Spalte)" t.column aus temp_table t auswählen;

+0

Dort ** ist ** Bulk einfügen. Aber deine Idee ist gut. Wenn sich die Tabellen in derselben Datenbank befinden. Wenn Datenbanken verbunden sind, kann dafür ein db_link verwendet werden. Anderenfalls ist es nicht möglich, Daten zu exportieren und neu zu importieren. –

+0

Ich habe meine gewünschte Antwort bekommen. 10000 insert Anweisung und fügen Sie einfach BEGIN oben und END;/zu guter Letzt. Dank an alle. –

0

Haben TOAD speichern Sie die Daten als CSV-Datei, dann verwenden Sie SQLLOADER, um die Daten in die Datenbank zu laden, wird viel viel schneller als einzelne Zeile fügt.

+0

Er kann auch Toad verwenden, um die CSV-Datei in die Database zu laden. –

+0

CSV wird mein Problem nicht lösen. Beispiel 2 Spalte in Tabelle habe ich. Jahr und to_do. Ich sollte dieselben Daten in dieselbe Tabelle einfügen, aber das Jahr geändert haben. 5000 Zeilen für das Jahr 2004 und wieder 5000 Zeilen für das Jahr 2005. In Text/SQL-Datei oder was auch immer ich werde nur ändern 2004 bis 2005 von finden und ersetzen. Über alles möchte ich eine Einfügeabfrage. –

+1

Ich habe meine gewünschte Antwort bekommen. 10000 insert Anweisung und fügen Sie einfach BEGIN oben und END;/zu guter Letzt. Danke Neeraj und Florin –

1

Aufgrund Ihrer Kommentare zu anderen Antworten glaube ich, dass Sie eine Menge unnötiger Export/Bearbeitung/Import tun. Lassen Sie die Datenbank alles tun, was für Sie funktioniert!

Dies funktioniert auf meinem Testtisch ohne all das Shipping und Jiving. Für alle Zeilen, in denen das Jahr 2015 es (in der Tat kopieren) die gleichen Daten, aber mit dem Jahr um 1 erhöhte einfügen wird:

insert into x_test 
(select col_a, col_b, col_c, col_d, l_date + 365 from x_test -- 2016 
where to_char(l_date, 'YYYY') = '2015'); 

In noch mehr Jahre in der gleichen Zeit mit den Gewerkschaften:

insert into x_test 
(select col_a, col_b, col_c, col_d, l_date + 365 from x_test -- 2016 
where to_char(l_date, 'YYYY') = '2015') 
union 
(select col_a, col_b, col_c, col_d, l_date + 730 from x_test -- 2017 
where to_char(l_date, 'YYYY') = '2015');