Я бы посоветовал вам оставить процедуру в базе данных;позвоните из Apex.
Как вы сказали, что все работает хорошо, я не собираюсь изучать код.Просто измените первую строку:
create or replace procedure KORELACJA(par_Poczatek in date,
par_Koniec in date)
is ...
Затем, в процессе Apex, вызовите процедуру как
korelacja(:p1_poczatek, :p2_koniec);
Обратите внимание, что вам может потребоваться применить функцию TO_DATE к этим элементам, используя соответствующий форматмаска, такая как
korelacja(to_date(:p1_poczatek, 'dd.mm.yyyy',
to_date(:p1_koniec , 'dd.mm.yyyy');
Если вы настаиваете на сохранении процедуры в процессе Apex (я бы не рекомендовал это), вам не нужен CREATE PROCEDURE
, но анонимный PL /Блок SQL.Он не принимает никаких параметров - используйте элементы Apex напрямую.
declare
miasto VARCHAR(25);
korelacja NUMBER;
cursor ...
WHERE TEMP.data between to_date(:p1_Poczatek, 'YYYY-MM-DD') ...
begin
...
end;