Lorsque vous utilisez SQLcl avec Oracle Database, vous pouvez définir SQLFORMAT
pour insert
afin de sortir les résultats de la requête sous la forme INSERT
déclarations.
Exemple
Voici un exemple pour illustrer :
SET SQLFORMAT insert;
SELECT * FROM regions;
Résultat :
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.
Juste pour être clair, voici les résultats de la requête lors de l'utilisation de ansiconsole
:
SET SQLFORMAT ansiconsole;
SELECT * FROM regions;
Résultat :
REGION_ID REGION_NAME ____________ _________________________ 1 Europe 2 Americas 3 Asia 4 Middle East and Africa
Exporter vers un fichier
Si vous avez besoin de stocker le INSERT
déclarations dans un fichier, vous pouvez utiliser le SPOOL
commande pour exporter les résultats dans un fichier.
SET SQLFORMAT insert;
SPOOL '/Users/barney/data/insert_regions.sql';
SELECT * FROM regions;
SPOOL off;
SET SQLFORMAT ansiconsole;
Cela a exporté le résultat dans un fichier appelé insert_regions.sql
à l'emplacement spécifié.
Une fois la requête exportée vers un fichier, j'ai défini SPOOL
à off
et SQLFORMAT
à ansiconcole
.
Voici à quoi ressemble le fichier résultant :
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.
Supprimer les commentaires
Vous pouvez supprimer le X rows selected
avec SET FEEDBACK off
:
SET SQLFORMAT insert;
SET FEEDBACK off;
SELECT * FROM regions;
SET FEEDBACK on;
SET SQLFORMAT ansiconsole;
Résultat :
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');
Dans ce cas, j'ai activé FEEDBACK
après avoir exporté le fichier, et définissez SQLFORMAT
retour à ansiconsole
.