在SQL Developer中,我运行以下代码:
SPOOL C:\Export15.sql;
select /*insert*/* from Arithmisi ;
SPOOL OFF;
输出是这样的:
REM INSERTING into Arithmisi
SET DEFINE OFF;
Insert into "Arithmisi" (ARITHMOS) values ('3263');
Insert into "Arithmisi" (ARITHMOS) values ('3294');
Insert into "Arithmisi" (ARITHMOS) values ('3295');
Insert into "Arithmisi" (ARITHMOS) values ('3296');
Insert into "Arithmisi" (ARITHMOS) values ('3297');
Insert into "Arithmisi" (ARITHMOS) values ('3298');
Insert into "Arithmisi" (ARITHMOS) values ('3299');
Insert into "Arithmisi" (ARITHMOS) values ('3300');
Insert into "Arithmisi" (ARITHMOS) values ('3301');
Insert into "Arithmisi" (ARITHMOS) values ('3302');
Insert into "Arithmisi" (ARITHMOS) values ('3303');
Insert into "Arithmisi" (ARITHMOS) values ('3304');
Insert into "Arithmisi" (ARITHMOS) values ('3305');
然后,我在sql plus中运行相同的命令,但结果如下:
算术
3263
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
算术
3304
3305
如何用sql plus编写,以产生与SQL Developer相同的输出?
发布于 2016-09-06 19:57:45
看起来阿历克斯帮助我们进了最后一个球,但我会尝试回答你提出的问题。您可以通过将插入作为select的一部分来从sqlplus获得插入,但这有点单调乏味。
对于单列表:
select 'insert into TABLE_NAME values ('''||FIELD_NAME||'''); ' from TABLE_NAME;
对于多列:
select 'insert into TABLE_NAME values ('''
||FIELD1_NAME||''','''
||FIELD2_NAME||''','''
||FIELD3_NAME||'''); '
from TABLE_NAME;
在您的案例中:
SPOOL C:\Export15.sql;
select 'insert into Arithmisi values ('''||ARITHMOS||'''); ' from Arithmisi;
SPOOL OFF;
我希望这能帮到你!
https://stackoverflow.com/questions/39306843
复制