タイプが「stored_procedure」のdbms_schedulerジョブの名前付き引数をに渡すことは可能ですか?私はこの方法を試しました:
-- 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行目
引数_position設定を使用して、set_job_argument_valueでパラメーター値を正常に設定しました。ただし、特定のパラメーターのみを設定する必要があるストアドプロシージャを実行する必要があり、これが機能しない場合があります。スケジューラジョブによって実行されるストアドプロシージャに名前付き引数を渡す方法はありますか?