保护Oracle中的代码块执行

时间:2014-07-29 07:38:11

标签: oracle

例如我有一个代码:

BEGIN
    BEGIN
        -- First Part
        call_1_1();
        call_1_2();
        ...
        call_1_N();
    END;

    BEGIN
        -- Second Part
        call_2_1();
        call_2_2();
        ...
        call_2_M();
    END;
END;

此代码放在包中并在作业中运行。可以通过停止作业从外部停止执行此代码(作业)。中断可能会在每个块的中间执行。问题是当有人从外部中断执行时,块First PartSecond Part的执行有多安全。

1 个答案:

答案 0 :(得分:1)

所有交易都将完成,或者任何交易都不会完成。保证。您必须管理您的交易。例如,如果您希望块在一个事务中,则不要在“块”结束之前提交。