在包中并行执行程序[重复]
Posted
技术标签:
【中文标题】在包中并行执行程序[重复]【英文标题】:Execute procedures in parallel within a package [duplicate] 【发布时间】:2017-08-16 13:30:30 【问题描述】:有没有办法在一个包中并行运行程序? 我需要运行所有程序,但它们不必按顺序运行。 全部插入到一个表中,但每个过程使用不同的源。 我可以一次执行所有程序,使总运行时间等于最长运行程序的运行时间吗?
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
【问题讨论】:
查看设置dbms_scheduler job chain,或使用dbms_parallel_execute 【参考方案1】:您应该尝试执行 DBMS 并行执行。
DBMS_PARALLEL_EXECUTE
更多详情请点击以下参考链接
https://oracle-base.com/articles/11g/dbms_parallel_execute_11gR2
【讨论】:
以上是关于在包中并行执行程序[重复]的主要内容,如果未能解决你的问题,请参考以下文章