dbms_jobs를 사용하여 일부 프로 시저를 병렬로 실행하려고하는데 일부 문제가 있습니다. 이하의 코드를 실행하려고 할 때이 오류를out 매개 변수로 dbms_job을 설정하는 방법
20:28:16 Info: Job #16 could not be executed. ORA-12011: execution of 1 jobs failed
ORA-06512: at "SYS.DBMS_IJOB", line 469
ORA-06512: at "SYS.DBMS_JOB", line 282
ORA-06512: at line 1
declare
ln_dummy number;
p_stdate CONSTANT DATE := '01-MAY-2012';
p_edate CONSTANT DATE := '31-MAY-2012';
p_cdate CONSTANT DATE := '09-FEB-2013';
p_key CONSTANT INTEGER:= 0;
p_ercode INTEGER;
p_erdesc VARCHAR2(200);
begin
COMMIT;
DBMS_JOB.SUBMIT(ln_dummy,'MY_PROC_1('''|| p_stdate ||''','''|| p_edate ||''','''|| p_cdate||''','''|| p_key ||''', :p_ercode, :p_erdesc:);');
COMMIT;
end;
/
p_ercode 받고 있어요 및 p_erdesc는 MY_PROC_1의 출력 매개 변수입니다. 내가 코멘트를하려고하면 문제없이 문제가 해결됩니다.
제 질문은 어떻게 MY_PROC_1에서 p_ercode와 p_erdesc를 주석 처리하지 않고 작업을 실행할 수 있는지입니다.
또한 어떤 작업이 실행되고 있고 어떤 작업이 이미 수행되고 있는지 알 수있는 방법이 있습니까? 경고 같은 것이 있습니까?
이러한 매개 변수는 어디로 반환됩니까? proc. 작업이 실제로 실행될 때 submit_job을 호출하는 것은 오랫동안 사라질 것입니다. – Mat
안녕하세요, 귀하의 회신에 감사드립니다. 나는 좀 새로운 plsql입니다. 의견 있으십니까? – user2058738
사용 가능한 매개 변수로 무엇을하고 싶은지 설명하십시오. 일단 그렇게하면 자신이해야 할 일을 파악할 수 있어야합니다. – Mat