Bonjour,
J'ai cherché et testé pas mal de solutions mais rien y fait.
Je me connecte avec sqlplus sur une base oracle. mon code est stocké dans un fichier avec une extension .sql (que j'exécute avec un .bat) dont voici le contenu (du .sql):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| set space 0;
set echo off;
set pagesize 0;
set linesize 500;
set heading off;
set feedback off;
set flush off;
set verify off;
set trim on;
set trims on;
spool ../Fichiers_resultats/TOTO_&dat_fic..txt
-- entête de colonne du fichier en sortie
select
'Champs1'||';'||'Champs2'||';'||'Champs3'||';'||....||';'||'Champsn' from dual;
--Constitution de la requête
select
champs1 as Titi,';',
champs2 as Toto,';',
champs3,';',
...
champsn,';',
FROM table1;
spool off; |
------------------------------------------------------------
Mon problème est que la taille du fichier en sorti est énorme car chaque champ à l'air d'être restitué avec la taille maxi défini dans la BD or je voudrais avoir des tailles ajustées au contenu.
Ex :
résultat obtenu (champs fixes)
Champs1;Champs2;Champs3....
abc_____;def________________;121;xbjj
djdjjsdhj_;kdkdkkls____________;1__;
[COLOR="SeaGreen"](le signe _ étant des blancs, espace ou tabulation )[/CODE]
résultat voulu (champs variables)
abc;def;121;xbjj
djdjjsdhj;kdkdkkls;1;
pi, j'ai essayé de rajouter en début de fichier
COLUMN Champs1 FORMAT 50a mais ça marche pas
Merci de votre aide précieuse et bonne soirée
sonia
Partager