Bonjour.
Je souhaite disposer du code me permettant de réaliser ce cas d'utilisation :
1. Déclarer une fonction PL/SQL qui renvoie un enregistrement unique et complet d'une table selon une valeur de sa clé
2. Tester cette fonction depuis SQL Developper
Voici le code de déclaration de ma fonction :
Je ne sais pas quel type utiliser dans le code d'appel pour récupérer l'enregistrement en sortie de fonction (ici, test avec REFCURSOR) ... mais le code d'appel est celui-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 create or replace FUNCTION FNC_SAA_GetOrganeById ( ORG_ID IN VARCHAR2, ORGANE OUT rfp_organe_org%ROWTYPE ) RETURN NUMBER AS BEGIN SELECT * INTO ORGANE FROM rfp_organe_org WHERE org_code = ORG_ID; RETURN 1; END FNC_SAA_GetOrganeById;
J'obtiens un message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 variable RET_ORGANE REFCURSOR; variable RET_CODE NUMBER; execute :RET_CODE := fnc_saa_getorganebyid('A112',:RET_ORGANE); print RET_CODE; print RET_ORGANE
Comment valider le code de ma fonction en affichant le contenu du paramètre de sortie 'ORGANE' ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part PLS-00306: numéro ou types d'arguments erronés dans appel à 'FNC_SAA_GETORGANEBYID'
Merci de votre aide.
Partager