zoukankan      html  css  js  c++  java
  • Oracle游标循环更新数据案例

    declare
          v_XTXMBH number;
          v_ZJZJZJRQ  varchar2(40);
          cursor c_job is
           SELECT XT.XTXMBH AS XTXMBH, QJ.ZJZJZJRQ AS ZJZJZJRQ
             FROM XTXMXX XT, QJGLXX_ZQL_MID QJ
            WHERE XT.XTXMBH = QJ.XTXMBH
              AND XT.XTXMCLRQ >= '20120630'
              AND (QJ.ZJQHZJRQ IS NULL OR QJ.ZJZJZJRQ IS NULL);
          c_row c_job%rowtype;
        begin
          for c_row in c_job loop
            v_XTXMBH:=c_row.XTXMBH;
            v_ZJZJZJRQ:=c_row.ZJZJZJRQ;
            IF (v_XTXMBH IS NOT NULL OR v_XTXMBH<>'') THEN 
              if (v_ZJZJZJRQ IS NULL OR v_ZJZJZJRQ='') then
                --UPDATE ZJ
               UPDATE QJGLXX_ZQL_MID T
                  SET T.ZJZJZJRQ = '20000101', T.ZJZJZJJE = 0, T.LJZJZJJE = 0
                WHERE T.XTXMBH=v_XTXMBH;
              else
                --UPDATE QH
                UPDATE QJGLXX_ZQL_MID T
                  SET T.ZJQHZJRQ = '20000101', T.ZJQHZJJE = 0, T.LJQHZJJE = 0
                WHERE T.XTXMBH=v_XTXMBH;
              end if;
             END IF;
          end loop; --循环结束
          commit; --提交处理后数据
        end;
  • 相关阅读:
    第一章
    第三章
    第四章
    第十章 读书笔记
    第八章 读书笔记
    第九章 读书笔记
    第7章实验心得
    第六章实验心得
    第五章心得体会
    第四章实验心得
  • 原文地址:https://www.cnblogs.com/liudi1992/p/3866424.html
Copyright © 2011-2022 走看看