为表中的每个条目生成 `insert` 语句

cri*_*id9 2 oracle oracle-11g-r2 plsql

insert从表中的每个条目生成语句的最简单方法是什么?对于 3 行的表,我需要生成 3 个插入语句。

对于具有n行的表,我需要写入文件n insert语句。

例如,对于 row (foo, bar, baz) 我需要将语句写入该文件:

insert into desired_table values (foo, bar, baz)
Run Code Online (Sandbox Code Playgroud)

Bal*_*app 9

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);
Run Code Online (Sandbox Code Playgroud)

另一个有用的“提示”:

select /*csv*/ * from t1;

"C1","C2"
1,2
2,3
3,4
Run Code Online (Sandbox Code Playgroud)

从 4.1 版开始,下面的“提示”也有效:

set sqlformat insert
select * from t1;
Run Code Online (Sandbox Code Playgroud)

输出也可以假脱机:

set sqlformat insert
spool C:\Users\balaz\Desktop\insert.sql
select * from t1;
spool off
Run Code Online (Sandbox Code Playgroud)

  • 不,他们不是。您需要将上述内容作为脚本 (F5) 运行,而不是语句 (Ctrl+Enter)。 (6认同)