Можно ли передать именованные аргументы для задания dbms_scheduler с типом stored_procedure? Я пробовал вот так:
-- 1) example dummy procdure
CREATE OR REPLACE PROCEDURE my_test_proc (
param1 IN NVARCHAR2,
param2 IN NUMBER,
param3 IN NUMBER
) IS
BEGIN
-- ...
END;
-- 2)Example dummy job:
BEGIN
dbms_scheduler.create_job(
job_name => 'my_test_job'
,job_type => 'STORED_PROCEDURE'
,job_action => 'my_test_proc'
,start_date => sysdate
,number_of_arguments => 3
,enabled => FALSE
,auto_drop =>FALSE
);
END;
-- 3)Set named param value:
BEGIN
dbms_scheduler.set_job_argument_value(
job_name => 'my_test_job'
,argument_name => 'param1'
,argument_value => 'some value'
);
END;
Я получаю следующую ошибку: ORA
-27484: имена аргументов не поддерживаются для заданий без программы. ORA-06512: в «SYS.DBMS_ISCHED», строка 207 ORA-06512: в «SYS.DBMS_SCHEDULER», строка 602 ORA-06512: в строке 2
Я успешно установил значения параметров с помощью set_job_argument_value, используя параметр argument_position. Но могут быть случаи, когда мне нужно будет запустить хранимые процедуры, для которых мне нужно будет установить только определенные параметры, и это не может сработать. Есть ли способ передать именованный аргумент в хранимую процедуру, запущенную заданием планировщика?