Bonjour,

Tout d'abord, désolé si ce sujet à déjà été traité, j'ai cherché mais n'ai trouvé aucune solution à mon problème:

Comment formater la sortie d'un PRINT d'un curseur?

Par exemple:

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
set verify off 
set head off 
set feedback off 
set trimspool on
set linesize 20000
set pagesize 0
SPOOL &1
 
variable x refcursor
 
declare
 
	sql_str varchar2(32000);
 
begin
 
	sql_str := q'#select 'a'||'|'||'b'||'|'||'c'||'|'||'d'||'|'||'e'||'|'||'f'||'|'||'g' from dual
	union all
	select 'a'||'|'||'b'||'|'||'c'||'|'||'d'||'|'||'e'||'|'||'f'||'|'||'g' from dual#';
 
	open :x for sql_str;
 
end;
/
 
print x
 
exit

Je voulais obtenir
a|b|c|d|e|f|g
a|b|c|d|e|f|g
mais j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
a				|b				 |c				  |d				   |e				    |f				     |g
a				|b				 |c				  |d				   |e				    |f				     |g

L'idée derrière tout ça est de réaliser des extractions de fichiers plats sur le poste client, de requête construites dynamiquement, ce qui m'interdit le package UTL_FILE (fichier généré sur le serveur) et le spool d'un bête select (car je dois construire la requête dynamiquement)... Mais je n'arrive pas à formater mon print...

Si quelqu'un voit une solution, je suis preneur