sql >> Database >  >> RDS >> Oracle

Een ref-cursor retourneren vanuit een Oracle-functie

Een paar fouten, kijk in mijn werkvoorbeeld, heb zojuist de brontabel gewijzigd:

CREATE OR REPLACE FUNCTION  TEST_CUR RETURN SYS_REFCURSOR
AS
   VAR_REF SYS_REFCURSOR;
BEGIN
    OPEN VAR_REF FOR
        SELECT *
        FROM DUAL;

    RETURN VAR_REF;
END;

Hier hoeft u de cursor niet te openen, deze is al geopend.

DECLARE
    L_VAR SYS_REFCURSOR;
    L_STATUS VARCHAR2(10);
BEGIN
    L_VAR:=TEST_CUR;
    LOOP
        FETCH L_VAR INTO L_STATUS;
        EXIT WHEN L_VAR%NOTFOUND;
        DBMS_OUTPUT.PUT_LINE( L_STATUS );
    END LOOP;
    CLOSE L_VAR;
END;

Een heel interessant bericht dat laat zien hoe je orakelcursors kunt testen:

5 verschillende manieren om test Oracle Ref Cursor resultaten



  1. Toon MySQL-resultaten in een tabel zonder de pagina opnieuw te laden

  2. Hoe een terugkerende ID in JPA te krijgen na het invoegen van native query's?

  3. Ecto creëren van unieke index mislukt voor Mysql/Mariadb

  4. Hoe laad ik Individual Div zonder de hele pagina te laden en de laadstatus te tonen?