Предложение WITH может использоваться в этом случае, если эта функция доступна в используемой вами версии Oracle.Ниже показано, как будет выглядеть код.
ПРИМЕЧАНИЕ. Это оператор SELECT, даже если он выглядит как код PL / SQL.Предложение WITH поддерживает использование объявления PL / SQL внутри него.
WITH
FUNCTION getCount(p_table_name IN VARCHAR2)
RETURN NUMBER IS
v_count NUMBER;
BEGIN
EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM '||p_table_name INTO v_count;
RETURN mycount;
EXCEPTION
WHEN OTHERS THEN
RETURN 0;
END;
SELECT getCount('hr.employee') FROM DUAL;
WHEN OTHERS перехватывает ошибку, когда таблица не существует, и возвращает 0. Если таблица существует, она возвращает счет изтаблица.
Надеюсь, это работает для вас.