sql >> Databáze >  >> RDS >> Oracle

Jak zkontrolovat, zda kurzor vrací nějaké záznamy v oracle?

Není možné zkontrolovat, zda kurzor vrací záznamy, aniž by jej otevřel.
(viz zde)
Můžete tedy buď provést rychlý dotaz, abyste zjistili, zda existují záznamy (například pomocí count),

Nebo to můžete udělat takto:

CREATE OR REPLACE PROCEDURE SP_EMPLOYEE_LOOKUP_BY_EMP_ID
(
      IN_USER_ID IN NUMBER, 
      IN_EMPLOYEE_ID NUMBER,
      IN_HC_AS_ON_DATE VARCHAR2,
      emp_cursor OUT SYS_REFCURSOR
) 
IS 

 is_found_rec boolean := false;    

 CURSOR employees IS 
    SELECT  * FROM EMPLOYEE e; 

BEGIN    

 FOR employee IN employees
  LOOP  

    is_found_rec := true;

        // do something  

  END LOOP; 

 if not is_found_rec then 
     // do something else 
 end if;

END;


  1. Jak ADDDATE() funguje v MariaDB

  2. Proč nemohu udělat a s x jako (...) s ADODB a Oracle?

  3. Video:Oracle 12c IDENTITY Column Performance na RAC

  4. Oracle 9i, Oracle 10g a Oracle 11g Developer Suite Forms and Reports Tutorial