sql >> Database >  >> RDS >> Oracle

Hoe te controleren of de cursor records in orakel retourneert?

Het is niet mogelijk om te controleren of de cursor records retourneert zonder deze te openen.
(zie hier)
Je kunt dus ofwel een snelle zoekopdracht uitvoeren om te zien of er records zijn (bijvoorbeeld met count),

Of je kunt het als volgt doen:

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. Ondersteunt uw ODBC-stuurprogramma gebruikersgegevensbronnen?

  2. Scripts genereren om beperkingen voor externe sleutels in SQL Server-database opnieuw te maken - SQL Server / TSQL-zelfstudie, deel 73

  3. Hoe MySQL te beveiligen:deel één

  4. Big Data met PostgreSQL en Apache Spark