假设我有2个程序:MYPROC1和MYPROC2(A_PARAM INTEGER)

这有效:

BEGIN
    DBMS_SCHEDULER.CREATE_JOB (
        job_name => 'TEST_SCHEDULER',
        job_type => 'STORED_PROCEDURE',
        job_action => 'developer.MYPROC1', <<<<<<<<<<<<<<<
        start_date => TIMESTAMP'2011-12-4 10:30:00',
                repeat_interval => 'FREQ=SECONDLY;INTERVAL=30',
        end_date => TIMESTAMP'2011-12-4 10:45:00',
        auto_drop => FALSE,
        comments => 'TEST 1');
END;


将第5行替换为:

job_action => 'developer.MYPROC1(2)'使其不起作用。
错误:..无效的数据库对象名称...

那么如何从调度程序调用参数化过程?什么是语法?

最佳答案

使用job_type => 'PLSQL_BLOCK', job_action => 'BEGIN developer.MYPROC1(2); END;'代替。

10-08 13:14