Я хочу удалить избыточный вызов для счетчика в упомянутой ниже хранимой процедуре и скорее хочу использовать временную таблицу и использовать временную таблицу для возврата в курсор
procedure status(p_order_id in varchar2, p_stat out sys_refcursor) is
l_count pls_integer;
begin
select count(*) into l_count
from order o
where o.order_id=p_order_id;
if l_count > 0 then
-- exists in main table so only query that
open p_stat for select o.status_code,o.order_id
from order o
where o.order_id=p_order_id;
else -- does not exist in main table so only query archive
open p_stat for select a.status_code,a.order_id
from order_archive a where a.order_id=p_order_id;
end if;
end status;