par
sacramento » 16 mars 2011, 17:10
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 : Tout sélectionner
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 : Tout sélectionner
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 ?
Merci
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]
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
...
[/code]
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]
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
...
[/code]
Est-ce que quelqu'un a une réponse ou un lien vers une doc qui explique ce genre de syntaxe ?
Merci