Batch SQLPLUS avec des paramètres contenant des espaces
Bonjour,
Je dois lancer la même requête SQL pour plusieurs variables.
J'ai donc créer un fichier de parametre : param.txt
Contenu de param.txt
Code:
1 2 3
| Valeur1;
Valeur2 mais contenant des espaces;
valeur3 pouvant aussi contenir des espaces |
Mon batch est le suivant
Code:
1 2
|
FOR /F "tokens=1 delims=;" %%i IN (param.txt DO @sqlplus user/pwd@base @GetData.sql ; Result_%%i.csv %%i |
Le contenu de GetData.sql est
Code:
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 40 41
|
WHENEVER SQLERROR EXIT 1
WHENEVER OSERROR EXIT 2
SET TERMOUT OFF
SET SPACE 0
SET LINES 300
SET PAGES 0
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET TRIMSPOOL ON
SET VERIFY OFF
SET DEFINE OFF
spool &2
PROMPT "Applet"&1"Applet"&1"Item No"&1"Visibility Applet"&1
select webitem.applet_name
||'&1'|| v.NAME
||'&1'|| webitem.ITEM_NUM
||'&1'|| webitem.APPLET_VIS_TYPE
||'&1'
from S_VIEW_WTMPL_IT webitem
, S_VIEW_WEB_TMPL web
, S_VIEW v
, S_REPOSITORY rep
where rep.name = 'Siebel Repository'
and rep.row_id = v.repository_id
and webitem.VIEW_WEB_TMPL_ID = web.row_id
and web.view_id = v.row_id
and webitem.INACTIVE_FLG = 'N'
and web.INACTIVE_FLG = 'N'
and v.INACTIVE_FLG = 'N'
and webitem.applet_name = '&3'
/
spool off
/
exit; |
Forcément cela plante pour la valeur : Valeur2 mais contenant des espaces
Auriez vous une idée comment passer le paramètre contenant des espaces ?
Ou bien existe un moyen d'utiliser une variable d'environnement dans SQLPLUS ?
D'avance merci pour votre aide.
Uyên Minh