När du använder SQLcl med Oracle Database kan du ställa in SQLFORMAT
att insert
för att mata ut frågeresultaten som INSERT
uttalanden.
Exempel
Här är ett exempel att visa:
SET SQLFORMAT insert;
SELECT * FROM regions;
Resultat:
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.
Bara för att vara tydlig, här är frågeresultaten när du använder ansiconsole
:
SET SQLFORMAT ansiconsole;
SELECT * FROM regions;
Resultat:
REGION_ID REGION_NAME ____________ _________________________ 1 Europe 2 Americas 3 Asia 4 Middle East and Africa
Exportera till en fil
Om du behöver lagra INSERT
uttalanden i en fil kan du använda SPOOL
kommando för att exportera resultaten till en fil.
SET SQLFORMAT insert;
SPOOL '/Users/barney/data/insert_regions.sql';
SELECT * FROM regions;
SPOOL off;
SET SQLFORMAT ansiconsole;
Som exporterade resultatet till en fil som heter insert_regions.sql
på den angivna platsen.
När frågan exporterades till en fil ställde jag in SPOOL
till off
och SQLFORMAT
till ansiconcole
.
Så här ser den resulterande filen ut:
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.
Ta bort feedback
Du kan ta bort X rows selected
med SET FEEDBACK off
:
SET SQLFORMAT insert;
SET FEEDBACK off;
SELECT * FROM regions;
SET FEEDBACK on;
SET SQLFORMAT ansiconsole;
Resultat:
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');
I det här fallet vände jag till FEEDBACK
på igen efter att ha exporterat filen och ställ in SQLFORMAT
tillbaka till ansiconsole
.