Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak sprawdzić, czy kursor zwraca jakieś rekordy w Oracle?

Nie można sprawdzić, czy kursor zwraca rekordy bez ich otwierania.
(zobacz tutaj)
Możesz więc mieć szybkie zapytanie tylko po to, aby zobaczyć, czy istnieją rekordy (na przykład używając licznika),

Możesz też zrobić to w ten sposób:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Niesamowite pytania do rozmowy kwalifikacyjnej z 24 równoległymi menedżerami

  2. Proces aktualizacji krok po kroku dla aktualizacji R12.2 część -4 (stosowanie pakietu aktualizacji wersji 12.2.x)

  3. Jak wybrać podciąg w Oracle SQL do określonego znaku?

  4. Oracle Insert Select z zamówieniem według

  5. Zrzut zużycia kursora