web-dev-qa-db-ja.com

テーブルの各エントリに対して `insert`ステートメントを生成します

テーブルのすべてのエントリからinsertステートメントを生成する最も簡単な方法は何ですか? 3行のテーブルの場合、3つの挿入ステートメントを生成する必要があります。

n行を含むテーブルの場合、ファイルに書き込む必要がありますninsertステートメント。

たとえば、行(foo、bar、baz)の場合、そのファイルにステートメントを書き込む必要があります。

insert into desired_table values (foo, bar, baz)
1
cristid9

SQL Developer では、/*insert*/ "ヒント"。

select /*insert*/ * from t1;

REM INSERTING into T1
SET DEFINE OFF;
Insert into T1 (C1,C2) values (1,2);
Insert into T1 (C1,C2) values (2,3);
Insert into T1 (C1,C2) values (3,4);

別の便利な「ヒント」:

select /*csv*/ * from t1;

"C1","C2"
1,2
2,3
3,4

バージョン4.1以降、以下の「ヒント」も機能します。

set sqlformat insert
select * from t1;

出力もスプールできます:

set sqlformat insert
spool C:\Users\balaz\Desktop\insert.sql
select * from t1;
spool off
8
Balazs Papp