Bonjour,
Je suis dans une procédure stockée.
Suivant la valeur de ma variable V_PARAM, la liste des identifiants en paramètre va être variable (cf exemple ci-dessous).
Une liste, ça ne marche pas :
Une valeur simple, ça marche (mais c'est pas ce que je veux)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select t.champ1, t.champ2 from MATABLE t where t.champ3 in (select case when V_PARAM=3 then (120, 2) else (5) end from dual)
Si c'est pas possible, je suis aussi preneur d'une solution qui me permette carrément de faire des sélect différents de ce type... à l'intérieur d'une boucle for :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select t.champ1, t.champ2 from MATABLE t where t.champ3 in (select case when V_PARAM=3 then 120 else 5 end from dual)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 for c_table in ( --cas1 : select t.champ1, t.champ2 from MATABLE t where t.champ3 in (120, 2) --cas2 ? )loop --bla, bla end loop;
Merci pour votre aide.
Partager