Bonjour
j'ai un shell qui lance un script SQL qui a sont tout execute une procédure stockée.
ce sql peut lancer la proc stock avec des paramètres différents en fonction de paramètres passés dans le shell.

voici le code du script.sql, j'ai un probleme car je passe les paramètres nécessaire pour rentrer dans le premieres IF
mais j'ai un message qui demande quand même la valeur du parametre 8 qui pourtant se trouve dans le ELSE
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
SET ECHO OFF
SET TIMING OFF
SET TERM ON
SET VERIFY OFF
 
whenever sqlerror exit 1
whenever oserror exit 2
 
begin 
 
	if '&&1' = 'DISTRIB' then 
		P_MODIF_CONFIG(p_action => '&&2',p_table => '&&3',p_parametre => '&&4',p_oldvaleur => '&&5',p_newvaleur => '&&6',p_appsrc => '&&7' );
	else
		P_MODIF_CONFIG(p_action => '&&2',p_table => '&&3',p_parametre => '&&4',p_oldvaleur => '&&5',p_newvaleur => '&&6',p_frequence => '&&7',p_stream => '&&8');
	end if;
 
end;
/
exit 0;
Message retourné a l'exec du shell :
Enter value for 8: c
en renseignant ça fonctionne mais comme ce shell est pour une équipe de support il faut que j'ai le moins de probleme possible au lancement de ce shell.

Une idée avant que je fasse ma méthode simple mais moche qui va consister a séparer mon SQL en 2 scripts distinct ?

Merci d'avance pour votre aide

Cdt
Yannick