Bonjour,

J'ai une problématique que je n'arrive pas à résoudre.
C'est assez simple, j'ai un package avec plusieurs fonction :

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Fonction A()
begin
 
end;
 
Fonction B()
begin
 
end;

Et dans toutes ces fonctions, j'ai des selects qui ont une clause IN avec un autre select, et ce select est identique dans plusieurs fonction de mon package.

Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Fonction A()
begin

Select ... where x in (select Y);

end;

Fonction B()
begin

Select ... where x in (select Y);

end;

J'aimerai factoriser le select Y, pour que si il change je n'ai pas 5 fois à le faire dans le package.
J'ai essayé avec un fonction qui ramène un curseur (sys_refcursor) mais sans succès, apparemment la clause IN ne sait pas traiter un curseur.

Quelqu'un aurait une idée ? (sans faire une vue)
le select Y ramène une liste de number.

Merci d'avance.