+ -
当前位置:首页 → 问答吧 → PL/SQL程序段中,很多个DML语句,如何设计commit的时机?

PL/SQL程序段中,很多个DML语句,如何设计commit的时机?

时间:2011-09-15

来源:互联网

一个复杂的PL/SQL程序段,大概有20个复杂的DML语句,类似如下:

begin
    insert  into  ......
    insert  into  ......
    insert  into  ......
    update ....
    insert  into  ......
    insert  into  ......
    insert  into  ......
    update ....
    insert  into  ......
    insert  into  ......
    insert  into  ......
    update ....

    commit;
end;

   现在是最后才commit,在整个执行过程,会有大量的redo信息,使得程序运行慢;但是如果在DML中commit,万一出现异常,程序无法保证事务一致性。

    如何处理,才好呢?实际生产环境中,是如何处理的呢?

    多谢大家啊。

作者: 茫茫蒙古草原   发布时间: 2011-09-15

看数据的重要性和连贯性而定 如果 报错之后 可以从中间重做的 可以一步一commit  相反最后做

作者: ccceleven   发布时间: 2011-09-15

这个不好下定论,要你的业务相关。。。

复杂的业务逻辑,最好细分成几个相对独立的单元,每个单元一个PROCEDURE,最后打包与一个PACKAGE。

作者: solomon_007   发布时间: 2011-09-15