【问题标题】: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

【问题讨论】:

标签: oracle plsql


【解决方案1】:

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

DBMS_PARALLEL_EXECUTE

更多详情请点击以下参考链接

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

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-18
    • 2016-12-17
    • 2012-07-22
    相关资源
    最近更新 更多