在包中并行执行过程

时间:2017-08-16 13:30:31

标签: oracle plsql

有没有办法在包中并行运行程序? 我需要运行所有程序,但它们不必按顺序运行。 所有插入到一个表但每个过程使用不同的源。 我可以一次执行所有操作,以便总运行时间等于运行时间最长的程序吗?

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 个答案:

答案 0 :(得分:0)

您应该尝试执行DBMS并行执行。

<强> DBMS_PARALLEL_EXECUTE

有关详细信息,请查看以下参考链接

https://oracle-base.com/articles/11g/dbms_parallel_execute_11gR2