个人随笔
目录
一、Oracle 如何循环查询结果集,进行新增或修改
2020-11-30 10:50:23

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

loop循环例子

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

代码示例

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

  1. ----循环修改运输记录的货主的TmsCode 方法---
  2. declare
  3. balance_Id varchar2(100);
  4. balance_Name varchar2(100);
  5. conNum number;
  6. begin
  7. --循环运输记录中的结算单位(ID,NAME)(查询结果集循环)--
  8. for item in (select A.BALANCE_ID,A.BALANCE_NAME from VIEW_GZ_YIMIAO A group by A.BALANCE_ID,A.BALANCE_NAME) loop
  9. -- 将查询到的数据赋值给变量 --
  10. balance_Id := item.balance_id;
  11. balance_Name := item.balance_name;
  12. -- 获取结算单位是否存在(查询结果集赋值)---
  13. select COUNT(*) into conNum from Dxc_Consignor where NAME=balance_Name;
  14. --判断是否存在,存在则将结算单位ID赋给货主的TmsCode --
  15. if conNum=1 then
  16. dbms_output.put_line('存在');
  17. --执行修改--
  18. update Dxc_Consignor set TMSCODE=balance_Id where NAME=balance_Name;
  19. else
  20. dbms_output.put_line('不存在');
  21. --执行新增--
  22. end if;
  23. end loop;
  24. end;
 461

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2