Set de paramètre nommé pour Oracle dbms_scheduler de l'emploi de la procédure stockée
Est-il possible de passé arguments nommés pour dbms_scheduler travail avec un type "stored_procedure' ? J'ai essayé de cette façon:
-- 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;
J'obtiens l'erreur suivante:
ORA
-27484: les noms d'arguments ne sont pas pris en charge pour des emplois sans un programme. ORA-06512: à "SYS.DBMS_ISCHED", la ligne 207 ORA-06512: à
"SYS.DBMS_SCHEDULER", la ligne 602 ORA-06512: à ligne 2
J'ai réussi à définir des valeurs de paramètre avec set_job_argument_value en utilisant argument_position réglage. Mais il peut y avoir des cas où j'aurai besoin pour exécuter des procédures stockées à qui j'aurai besoin de définir certains paramètres, ce qui pourrait ne pas fonctionner. Est-il un moyen de passer un argument nommé à la procédure stockée runique par le planificateur de travail?
OriginalL'auteur skujins | 2013-01-22
Vous devez vous connecter pour publier un commentaire.
que les états d'erreur, de créer un programme en premier, puis le travail.
href="http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_sched.htm#i1011161" >définir le PROGRAMME de l'argument prend le nom d'argument(pas vraiment le nom du paramètre, mais qui pourraient l'être) + position réelle. définir EMPLOI argument ne prend que la position (ou son nom si vous voulez..il y a deux surchargé Api) et cela devrait attacher au programme de l'argument de position/nom.
OriginalL'auteur DazzaL