sql >> Database teknologi >  >> RDS >> Oracle

Hvordan kontrollerer man, om markøren returnerer nogen poster i oracle?

Det er ikke muligt at kontrollere, om markøren returnerer poster uden at åbne den.
(se her)
Så du kan enten have en hurtig forespørgsel bare for at se, om der er poster (f.eks. ved at bruge count),

Eller du kan gøre det sådan her:

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. Sådan bruges NVL()-funktionen i Oracle

  2. Hvordan redigerer jeg en tabel for at aktivere CASCADE DELETE?

  3. Hvordan henter man et sæt tegn ved hjælp af SUBSTRING i SQL?

  4. På Duplicate Key Update samme som indsæt