zoukankan      html  css  js  c++  java
  • PB开发境界 多个DW进行update

     

    多个DW进行update

    //菜鸟代码
    dw_1.Update()
    dw_2.Update()
    初级代码
    IF dw_1.Update() = 1 And dw_2.Update() = 1 THEN
            COMMIT;
    ELSE
            ROLLBACK;
    END IF
    中级代码
    IF dw_1.Update() = 1 THEN
            IF dw_2.Update() = 1 THEN
                    COMMIT;
            ELSE
                    MessageBox("提示","喝多了!")
                    ROLLBACK;
            END IF
    ELSE
            MessageBox("提示","喝多了!")
            ROLLBACK;
    END IF
    高级代码
    IF dw_1.Update() = 1 THEN
            IF dw_2.Update() = 1 THEN
                    COMMIT;
            ELSE
                    ROLLBACK;
                    MessageBox("提示","少喝点!")
            END IF
    ELSE
            ROLLBACK;
            MessageBox("提示","少喝点!")
    END IF
    专家级代码
    IF dw_1.Update(True,False) = 1 THEN
            IF dw_2.Update(True,False) = 1 THEN
                    dw_1.ResetUpdate()
                    dw_2.ResetUpdate()
                    COMMIT;
            ELSE
                    ROLLBACK;
                    MessageBox("提示","没喝高啊!")
            END IF
    ELSE
            ROLLBACK;
            MessageBox("提示","没喝高啊!")
    END IF

    多个DW进行update,有时会不能全部成功update 用事务处理时,多个DW进行update后,再COMMIT.偶然会发现前面几个DW update成功,但后面的表失败时,好像执行了COMMIT,不会rollback. 

    正确的写法如下: 
    if dw_1.update(true, false)= 1 and dw_2.update(true, false)=1 ...then 
      commit; 
      dw_1.resetUpdate(); 
      dw_2.resetUpdate(); 

    else 
      rollback; 
    end if

     
     
  • 相关阅读:
    喜欢的诗
    诗集与集诗
    oracle 12c 中asm元数据是否有所变化
    hdu2066一个人的旅行(dijkstra)
    单链表
    ExtJS4.2学习(7)——基础知识之Reader&Writer篇
    hdu3790最短路径问题 (用优先队列实现的)
    poj 1220 NUMBER BASE CONVERSION(短除法进制转换)
    POJ 4003 Bob’s Race && HDU4123 Bob’s Race (dfs+rmq)
    全排列
  • 原文地址:https://www.cnblogs.com/zhaoxiong/p/9375639.html
Copyright © 2011-2022 走看看