W tym samouczku podam przykład zwracania zestawu wyników z procedury składowanej w Oracle przy użyciu sys_refcursor.
Wykonaj te kroki, aby zwrócić zestaw wyników z procedury składowanej w Oracle.
1. Utwórz procedurę składowaną w Oracle
Poniższa procedura składowana (p_dept) zwróci nazwy działów w sys_refcursor (p_result) z tabeli działów, w której numer działu jest mniejszy lub równy wartości parametru.
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. Uzyskaj zwrócony zestaw wyników i proces
Poniższy blok PL/SQL pobierze wyniki z procedury składowanej (p_dept) i wydrukuje nazwy działów.
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; /
Wyjście:
ACCOUNTING RESEARCH SALES PL/SQL procedure successfully completed.
Zobacz też:
- Utwórz plik PDF za pomocą PL/SQL
- Pobierz aktualny czas lokalny dowolnego kraju w PL/SQL
-
ORA-12516, TNS:listener nie mógł znaleźć dostępnej obsługi
-
Kolejność wykonania warunków w klauzuli SQL 'gdzie'
-
EBS 12.2.5 i nowsze:Niewspółosiowość przycisku strony logowania
-
Jak wywołać funkcję lub procedurę składowaną Oracle przy użyciu frameworka trwałości wiosennej?
-
Jak uciec ze znaków <,> i &do encji HTML w Oracle PL/SQL