Bonjour.

J'ai un problème que je n'arrive pas à résoudre. J'ai cherché sur le forum et n'ai pas trouvé de solution viable.

Je récupère des données depuis une table pour les écrire dans un fichier.
Etant donné que ces champs font tous 4000 caractères, je ne peux les concaténer à l'aide de ||. Je les récupère donc séparément.

Mon problème vient à partir de là. Entre chaque colonne, j'ai un retour à la ligne en trop.
Etant donné que les données sont du Html, je ne peux pas me permettre de laisser ça comme ça.

J'ai essayé de sélectionner les champs dans la même requête ou séparément, rien n'y fait. J'ai rajouté le COLSEP, ça ne marche pas. Le RECSEP OFF m'a permis d'enlever une ligne que j'avais en trop (2 retours à la ligne à la base).

Voici le code en question :

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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
spool &2
 
SET PAGES 0
SET ECHO OFF
SET NEWPAGE 0
SET SPACE 0
SET LINESIZE 3000
SET PAGESIZE 0
SET VERIFY OFF
SET FEEDBACK OFF
SET HEADING OFF
SET TERMOUT OFF
SET TRIMSPOOL ON
SET COLSEP ''
SET RECSEP OFF
 
...
 
SELECT 'blablabla'||CHAMP FROM TABLE WHERE CLE='&1';
 
prompt blablabla=;
 
SELECT replace(CHAMP_INIT,chr(13),'') FROM TABLE_INIT WHERE CLE='&1';
 
SELECT replace(CHAMP_1,chr(13),'') FROM TABLE_G, TABLE WHERE CHAMP_G=CHAMP AND CLE='&1';
 
SELECT replace(CHAMP_2,chr(13),'') FROM TABLE_G, TABLE WHERE CHAMP_G=CHAMP AND CLE='&1';
 
SELECT replace(CHAMP_3,chr(13),'') FROM TABLE WHERE CLE='&1';
 
SELECT replace(CHAMP_4,chr(13),'') FROM TABLE WHERE CLE='&1';
 
SELECT replace(CHAMP_5,chr(13),'') FROM TABLE WHERE CLE='&1';
 
SELECT replace(CHAMP_6,chr(13),'') FROM TABLE_G, TABLE WHERE CHAMP_G=CHAMP AND CLE='&1';
 
spool off;
exit;
Voilà, j'espère que je n'ai rien oublié.

Merci d'avance pour vos réponses,

Yo.