Tidak mungkin untuk memeriksa apakah kursor mengembalikan catatan tanpa membukanya.
(lihat di sini)
Jadi, Anda dapat membuat kueri cepat hanya untuk melihat apakah ada catatan (menggunakan count misalnya),
Atau, Anda dapat melakukannya seperti ini:
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;