Permettre un retour de valeur NULL dans une fonction
Bonjour,
J'ai une fonction stockée qui retourne un curseur. Je souhaite pourvoir retourner une valeur null si rien n'est trouvé. Or j'obtiens systématiquement une erreur ORA-06503: PL/SQL: Function returned without value ORA-06512.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
FUNCTION nom_fonction(arg1 IN VARCHAR2, aret OUT VARCHAR2) RETURN t_cursor
AS
my_cursor t_cursor;
BEGIN
aret := 'NOK';
OPEN my_cursor FOR SELECT * FROM ma_table;
aret := SQLCODE ||' - OK';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
aret := SQLCODE ||' - NO DATA FOUND ';
RETURN NULL;
WHEN others
THEN
aret := SQLCODE ||' - An error was encountered - ERROR - '||SQLERRM;
RETURN NULL;
END nom_fonction; |
t_cursor est un type ref cursor.
Comment ne pas générer ce message d'erreur?
Merci