2011-11-16 50 views
1

我想知道如何從Oracle的一份工作中調用兩個程序。我已經提到它像我在下面做的方式,但我收到一個錯誤,如...如何從oracle中的作業調用兩個過程?

Error starting at line 1 in command: 
    DECLARE 
    JOBID NUMBER; 
    BEGIN 
    DBMS_JOB.SUBMIT ( 
    job => JOBID, 
    what => '[email protected]_EXT.WORLD;isacfunctions.getisac_extract', 
    next_date=> TRUNC(SYSDATE+1) + 21/24, 
    interval=> 'TRUNC(SYSDATE+1) + 21/24'); 
    COMMIT; 
    END; 
Error report: 
ORA-06550: line 1, column 175: 
PLS-00103: Encountered the symbol "END" when expecting one of the following: 
    := . (@ % ; 
The symbol ";" was substituted for "END" to continue. 
ORA-06512: at "SYS.DBMS_JOB", line 82 
ORA-06512: at "SYS.DBMS_JOB", line 139 
ORA-06512: at line 4 
06550. 00000 - "line %s, column %s:\n%s" 
*Cause: Usually a PL/SQL compilation error. 
*Action: 

回答

4

您需要構建一個有效的PL/SQL塊。假定兩個過程名稱均有效,並且這兩個過程調用不採用參數

DECLARE 
    JOBID NUMBER; 
BEGIN 
    DBMS_JOB.SUBMIT ( 
    job => JOBID, 
    what => 'BEGIN ' || 
      ' [email protected]_EXT.WORLD; ' || 
      ' isacfunctions.getisac_extract; ' || 
      'END;', 
    next_date=> TRUNC(SYSDATE+1) + 21/24, 
    interval=> 'TRUNC(SYSDATE+1) + 21/24'); 
    COMMIT; 
END; 
相關問題