zoukankan      html  css  js  c++  java
  • Oracle 如何循环查询结果集,进行新增或修改

    Oracle的PL/SQL中怎样循环查询的结果集,然后根据查询结果进行判断,是新增或修改操作

    loop循环例子

    for item in (select a,b,c from table_a where 条件) loop
    insert into table_b(a,b,c) values (item.a,item.b,item.c);
    end loop;

    如何将查询结果集进行赋值

    -- 获取结算单位是否存在(查询结果集赋值)---
    select COUNT(*) into conNum from Dxc_Consignor where NAME=balance_Name;

    循环结果集,对每一个结果进行判断,如存在,执行修改,不存在,执行新增

    ----循环修改运输记录的货主的TmsCode  方法---
    declare
      balance_Id varchar2(100);
      balance_Name varchar2(100);
      conNum number;
    begin      
         --循环运输记录中的结算单位(ID,NAME)(查询结果集循环)--
         for item in (select A.BALANCE_ID,A.BALANCE_NAME from VIEW_GZ_YIMIAO A group by A.BALANCE_ID,A.BALANCE_NAME) loop
             -- 将查询到的数据赋值给变量 --
             balance_Id := item.balance_id;
             balance_Name := item.balance_name;      
             -- 获取结算单位是否存在(查询结果集赋值)---
             select COUNT(*) into conNum from Dxc_Consignor where NAME=balance_Name;
             --判断是否存在,存在则将结算单位ID赋给货主的TmsCode --
             if conNum=1 then
                  dbms_output.put_line('存在');
                    --执行修改--
                  update Dxc_Consignor set TMSCODE=balance_Id where NAME=balance_Name;
             else
                  dbms_output.put_line('不存在');
                  --执行新增--
             end if;
                    
          end loop;    
    end; 

    循环的结果集的视图

    执行的结果视图

    PS:

    参考网址:https://zhidao.baidu.com/question/478447631.html

  • 相关阅读:
    python 发送中文名邮件乱码问题
    python---django
    python中获取文件目录的方法
    python 读取文件的常用方法
    python读取文件的常用方法
    python数据库调用
    mysql数据库主从同步状态正常,无异常报错,数据不能同步
    Python小脚本
    语句和语法
    CIDR详解和ip最长地址前缀匹配
  • 原文地址:https://www.cnblogs.com/xielong/p/9789544.html
Copyright © 2011-2022 走看看