Bonjour,

Je n'ai pas de souci pour créer une fonction en PL/SQL avec des arguments sous forme de chaînes ou de nombres (extraits)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CREATE OR REPLACE FUNCTION mafonction (p_1 IN INTEGER, p_2 IN VARCHAR2) 
RETURN VARCHAR2 IS
cursor moncurseur (c_1 integer, c_2 varchar2) IS SELECT A, B, C FROM matable
WHERE A=c_1 AND B=c_2;
...
FOR vc1 IN moncurseur(p_1, p_2) LOOP
...

Par contre, je n'arrive pas à trouver dans la doc Oracle comment faire pour que mon argument c_2 soit une liste utilisable avec une syntaxe IN au lieu d'un simple =

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CREATE OR REPLACE FUNCTION mafonction (p_1 IN INTEGER, p_2 IN ????) 
RETURN VARCHAR2 IS
cursor moncurseur (c_1 integer, c_2 ????) IS SELECT A, B, C FROM matable
WHERE A=c_1 AND B IN c_2;
...
FOR vc1 IN moncurseur(p_1, p_2) LOOP
...


Est-ce que quelqu'un a une réponse ou un lien vers une doc qui explique ce genre de syntaxe ?