sql >> Databasteknik >  >> RDS >> Oracle

Hur kontrollerar man om markören returnerar några poster i Oracle?

Det är inte möjligt att kontrollera om markören returnerar poster utan att öppna den.
(se här)
Så du kan antingen ha en snabb fråga bara för att se om det finns poster (till exempel genom att använda count),

Eller så kan du göra så här:

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. Entity Framework core - Innehåller är skiftlägeskänsligt eller skiftlägesokänsligt?

  2. NullPointerException på getReadableDatabase()

  3. hur man Flashback när vi har dataguard

  4. Hantera fel med hög allvarlighet i SQL Server