Ao usar SQLcl com Oracle Database, você pode definir
SQLFORMAT
para insert
para gerar os resultados da consulta como INSERT
declarações. Exemplo
Segue um exemplo para demonstrar:
SET SQLFORMAT insert;
SELECT * FROM regions;
Resultado:
REM INSERTING into REGIONS SET DEFINE OFF; Insert into REGIONS (REGION_ID,REGION_NAME) values (1,'Europe'); Insert into REGIONS (REGION_ID,REGION_NAME) values (2,'Americas'); Insert into REGIONS (REGION_ID,REGION_NAME) values (3,'Asia'); Insert into REGIONS (REGION_ID,REGION_NAME) values (4,'Middle East and Africa'); 4 rows selected.
Apenas para esclarecer, aqui estão os resultados da consulta ao usar o
ansiconsole
:SET SQLFORMAT ansiconsole;
SELECT * FROM regions;
Resultado:
REGION_ID REGION_NAME ____________ _________________________ 1 Europe 2 Americas 3 Asia 4 Middle East and Africa
Exportar para um arquivo
Se você precisar armazenar o
INSERT
instruções em um arquivo, você pode usar o SPOOL
comando para exportar os resultados para um arquivo. SET SQLFORMAT insert;
SPOOL '/Users/barney/data/insert_regions.sql';
SELECT * FROM regions;
SPOOL off;
SET SQLFORMAT ansiconsole;
Isso exportou o resultado para um arquivo chamado
insert_regions.sql
no local especificado. Depois que a consulta foi exportada para um arquivo, configurei
SPOOL
para off
e SQLFORMAT
para ansiconcole
. Aqui está a aparência do arquivo resultante:
REM INSERTING into REGIONS SET DEFINE OFF; Insert into REGIONS (REGION_ID,REGION_NAME) values (1,'Europe'); Insert into REGIONS (REGION_ID,REGION_NAME) values (2,'Americas'); Insert into REGIONS (REGION_ID,REGION_NAME) values (3,'Asia'); Insert into REGIONS (REGION_ID,REGION_NAME) values (4,'Middle East and Africa'); 4 rows selected.
Remover comentários
Você pode remover o
X rows selected
com SET FEEDBACK off
:SET SQLFORMAT insert;
SET FEEDBACK off;
SELECT * FROM regions;
SET FEEDBACK on;
SET SQLFORMAT ansiconsole;
Resultado:
REM INSERTING into REGIONS SET DEFINE OFF; Insert into REGIONS (REGION_ID,REGION_NAME) values (1,'Europe'); Insert into REGIONS (REGION_ID,REGION_NAME) values (2,'Americas'); Insert into REGIONS (REGION_ID,REGION_NAME) values (3,'Asia'); Insert into REGIONS (REGION_ID,REGION_NAME) values (4,'Middle East and Africa');
Neste caso eu virei
FEEDBACK
depois de exportar o arquivo e defina SQLFORMAT
de volta ao ansiconsole
.