2017-08-16 89 views
0

有什麼辦法可以並行運行程序包中的程序嗎? 我需要所有的程序來運行,但他們不必按順序運行。 所有插入到一個表,但每個過程使用不同的來源。 我可以同時執行所有操作,以使總運行時間與最長運行的程序相同嗎?在包中並行執行程序

CREATE OR REPLACE PACKAGE BODY PKG_BODY AS 

PROCEDURE PRC_ONE; 
PROCEDURE PRC_TWO; 
PROCEDURE PRC_THREE; 

PROCEDURE PRC_RUN-INSERTS AS 
BEGIN 


PRC_ONE; 
PRC_TWO; 
PRC_THREE; 

END; 

PROCEDURE PRC_ONE AS 
INSERT INTO TBL_TARGET FROM TBL_SOURCE_ONE 
END 

PROCEDURE PRC_TWO AS 
INSERT INTO TBL_TARGET FROM TBL_SOURCE_TWO 
END 

PROCEDURE PRC_THREE AS 
INSERT INTO TBL_TARGET FROM TBL_SOURCE_THREE 
END 

END 
+1

探討成立一個[DBMS_SCHEDULER作業鏈(https://docs.oracle.com/ cd/E11882_01/server.112/e25494/scheduse.htm#ADMIN10021)或使用[dbms_parallel_execute](https://docs.oracle.com/cd/E18283_01/appdev.112/e16760/d_parallel_ex.htm) – tbone

回答