我正在尝试使用DBMS_JOB通过包执行多个存储过程。即使作业已提交并且在USER_JOBS中显示,它也不会因某种原因而开始。我已尝试使用和不使用'START DATE'参数,但结果相同,即无法启动。
我正在使用ORACLE 9i,我想我不能使用dbms_scheduler。
在下面找到代码:
--PACKAGE BODY--
create or replace
PACKAGE BODY PKG_TEST IS
PROCEDURE PASSPORT_DC_1 IS
l_jobno binary_integer;
l_jobno1 binary_integer;
BEGIN
dbms_job.submit(l_jobno1, 'BEGIN SP_ABC(); END;',SYSDATE );
DBMS_OUTPUT.PUT_LINE('SP_UPDATE_TIDCUMTL :' || l_jobno1);
COMMIT;
dbms_job.submit(l_jobno, 'BEGIN SP_XYZ(); END;',SYSDATE);
DBMS_OUTPUT.PUT_LINE('SP_UPDATE_TIDPTDTL :' || l_jobno);
COMMIT;
END PASSPORT_DC_1;
--PACKAGE SPEC--
create or replace PACKAGE PKG_TEST AS
PROCEDURE PASSPORT_DC_1;
END PKG_TEST;
答案 0 :(得分:0)
dbms_job.submit的3.参数是区间(see doc)。如果您只想运行一次存储过程,请尝试省略第三个参数(SYSDATE)。:
dbms_job.submit(l_jobno1, 'BEGIN SP_ABC(); END;');