Невозможно проверить, возвращает ли курсор записи без его открытия. (см. здесь ). Таким образом, вы можете либо получить быстрый запрос, чтобы увидеть, есть ли записи (например, счетчик),
Или вы можете сделать это следующим образом:
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;
API кеша - это базовая модель, которая помогает нам обеспечить декларативное кэширование, оно не предназначено для абстрагирования от каждого возможного использования кэширования.
Каждая реализация кэша имеет getNativeCache
, который возвращает базовую реализацию библиотеки. Если вам нужен доступ к специфической для библиотеки функции, это то, что вы должны использовать.