Bonjour à tous,

j'utilise la commande spool pour exporter le contenu d'une table dans un fichier csv. Certaines valeurs exportées ne sont pas les valeurs stockées mais une valeur calculée à partir de celles-ci (avec un case) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SPOOL C:\brol.csv;
SELECT  ID || ';' ||
        CASE 
            WHEN COD_A = 'TARATATA'
            THEN '1'
            ELSE '0' 
        END || ';' ||
        CASE 
            WHEN COD_A = 'TURLUTUTU'
            THEN '1'
            ELSE '0' 
        END || ';' ||
        DATE
FROM    A_TABLE
SPOOL OFF
Le nom de colonne apparaissant ici ne satisfait pas l'objectif. J'aimerais avoir :
ID;TARATATA;TURLUTUTU;DATE

J'y arrive presque, en ajoutant, entre spool C:\brol.csv et le début de mon select, la ligne suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SPOOL C:\brol.csv;
SELECT 'ID;TARATATA;TURLUTUTU;DATE' FROM dual ;
SELECT  ID || ';' ||
        CASE 
            WHEN COD_A = 'TARATATA'
            THEN '1'
            ELSE '0' 
        END || ';' ||
        CASE 
            WHEN COD_A = 'TURLUTUTU'
            THEN '1'
            ELSE '0' 
        END || ';' ||
        DATE
FROM    A_TABLE
SPOOL OFF
Mais le problème est que cela rajoute une ligne blanche entre le résultat des 2 SELECT. Y a-t-il un moyen d'éviter cela ? Ou une autre manière d'atteindre l'objectif ?

D'avance, merci.