Dans ce didacticiel, je donne un exemple pour renvoyer un jeu de résultats à partir d'une procédure stockée dans Oracle à l'aide de sys_refcursor.
Suivez ces étapes pour renvoyer un jeu de résultats à partir d'une procédure stockée dans Oracle.
1. Créer une procédure stockée dans Oracle
La procédure stockée suivante (p_dept) renverra les noms de département dans sys_refcursor (p_result) à partir de la table de département où le numéro de département est inférieur ou égal à la valeur du paramètre.
CREATE OR REPLACE PROCEDURE p_dept (p_deptno IN dept.deptno%TYPE, p_result OUT SYS_REFCURSOR) IS BEGIN OPEN p_result FOR SELECT dname FROM dept WHERE deptno <= p_deptno; END; /
2. Obtenir le jeu de résultats et le processus renvoyés
Le bloc PL/SQL suivant obtiendra le jeu de résultats de la procédure stockée (p_dept) et imprimera les noms des départements.
SET SERVEROUTPUT ON; DECLARE v_result SYS_REFCURSOR; v_dname VARCHAR2 (100); BEGIN /* call the procedure by passing department numbner and sys_refcursor for resultset */ p_dept (30, v_result); LOOP FETCH v_result INTO v_dname; EXIT WHEN v_result%NOTFOUND; DBMS_OUTPUT.put_line (v_dname); END LOOP; END; /
Sortie :
ACCOUNTING RESEARCH SALES PL/SQL procedure successfully completed.
Voir aussi :
- Créer un fichier PDF à l'aide de PL/SQL
- Obtenir l'heure locale actuelle de n'importe quel pays en PL/SQL