Bonjour à tous,
J'ai cette requête qui est exécuté dans un script python (avec sqlplus)
Le résultat est écrit dans un fichier csv. Tout marche sauf que j'ai un problème au niveau du séparateur. Dans ma sous-sous-requête j'utilise volontairement le | comme séparateur. Mais en l'état la requête m'écrit
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 SET TRIMSPOOL ON SET TRIMOUT ON SET HEAD OFF SET HEADING OFF SET HEADSEP OFF SET FEEDBACK OFF SET ECHO OFF SET PAGESIZE 0 SET TAB OFF SET LINESIZE 1000 SET TERMOUT OFF spool """ + fileSrc + """ SELECT * FROM ( SELECT /* + FIRST_ROWS(n) */ t.*, ROWNUM rnum FROM ( SELECT a.tbl_0||'|'||a.evt_0||'|'||TO_CHAR(a.dat_0, 'dd-mm-yyyy')||'|'||a.hou_0||'|'||a.id1_0||'|'||a.id2_0||'|'||a1.col_0||'|'||a1.nval_0||'|'||a.seq_0 FROM XXXXX.audith a INNER JOIN XXXXX.auditl a1 ON a1.seq_0 = a.seq_0 WHERE (a.tbl_0 = 'SORDER' OR a.tbl_0 = 'SORDERP' OR a.tbl_0 = 'SORDERQ' OR a.tbl_0 = 'SDELIVERY' OR a.tbl_0 = 'SDELIVERYD' OR a.tbl_0 = 'SINVOICE' OR a.tbl_0 = 'SINVOICEV' OR a.tbl_0 = 'OPPOR' OR a.tbl_0 = 'SALESREP') AND TO_CHAR(a.dat_0, 'dd-mm-yyyy') = TO_CHAR(sysdate, 'dd-mm-yyyy') ORDER BY a.HOU_0 ASC ) t WHERE ROWNUM <= 100000) WHERE rnum >= 11984; spool off exit
Alors que je moi je souhaite
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SDELIVERY|UPDATE|23-02-2022|140949|LIVHIL22022344| |CFMFLG|2|437211 23085
J'ai essayé de modifier mettre set colsep '|' mais cela ne change rien. Dans le second select j'ai modifier le séparateur comme dans le 3eme select
Code : Sélectionner tout - Visualiser dans une fenêtre à part SDELIVERY|UPDATE|23-02-2022|140949|LIVHIL22022344| |CFMFLG|2|437211|23085
J'obtiens l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT /* + FIRST_ROWS(n) */ t.*||'|'||ROWNUM rnum FROM
Je vois pas trop comment faire pour avoir le même séparateur quelques soit le niveau de select et que chaque résultat soit sur une ligne ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT /* + FIRST_ROWS(n) */ t.*||'|'||ROWNUM rnum FROM * ERROR at line 3: ORA-00923: FROM keyword not found where expected
Merci d'avance.
Partager