voici les base pour créer un fichier CSV depuis un script SQL
SET PAGES 9999
SET LINE 1000
REM on n'affiche pas les titres de colonnes et l’entête de page
SET HEADING OFF
REM on n'affiche aucun text
SET ECHO OFF
SET FEEDBACK OFF
SET UNDERLINE OFF
SET HEADSEP OFF
REM on ne renvoi rien au terminal
SET TERMOUT OFF
REM choix du séparateur
SET COLSEP ';'
REM on retire les espace de fin de ligne du fichier SPOOL
SET TRIMS ON
Col DATEJOUR new_value DATEJOUR;
SELECT To_Char(SysDate, 'YYYYMMDD_HH24MI') DATEJOUR FROM Dual;
Spool E:\mon_repertoire\fichier_&DATEJOUR..csv;
REM on écrit le titre des colonnes qu'on veut
REM facultatif, car on pourrais aussi garder le nom des colonne du select avec HEADING ON
PROMPT macol1; macol2; macol3
REM le select
SELECT col1, col2, col3 FROM ma_table t1 ;
spool off;
SET LINE 1000
REM on n'affiche pas les titres de colonnes et l’entête de page
SET HEADING OFF
REM on n'affiche aucun text
SET ECHO OFF
SET FEEDBACK OFF
SET UNDERLINE OFF
SET HEADSEP OFF
REM on ne renvoi rien au terminal
SET TERMOUT OFF
REM choix du séparateur
SET COLSEP ';'
REM on retire les espace de fin de ligne du fichier SPOOL
SET TRIMS ON
Col DATEJOUR new_value DATEJOUR;
SELECT To_Char(SysDate, 'YYYYMMDD_HH24MI') DATEJOUR FROM Dual;
Spool E:\mon_repertoire\fichier_&DATEJOUR..csv;
REM on écrit le titre des colonnes qu'on veut
REM facultatif, car on pourrais aussi garder le nom des colonne du select avec HEADING ON
PROMPT macol1; macol2; macol3
REM le select
SELECT col1, col2, col3 FROM ma_table t1 ;
spool off;