oracle查询结果集迭代,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;

循环的结果集的视图

c70dd5306c3c2d8c201a1436fb8be39a.png

执行的结果视图

1a08fc8353763951ce978c5191293e1d.png

PS:

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

Oracle循环查询结果集 自定义函数

create or replace function Fun_GetRoleIDList(d_fid char) return varchar is  rolelist varchar(2000);b ...

sql遍历查询结果sql循环查询结果集sql循环查询

--查询表B,把查询到的数据插入临时表#A中,根据表B 的ID 进行排序:表#A中 的 i  字段 由1开始增加排序:        SELECT ROW_NUMBER() OVER ( ORDER ...

SqlServer中循环查询结果集

); begin ; open c_test_main;--打开游标 --开始循环 begin fetch next from c_test_main into @id,@value; --赋值到变量 ...

oracle表按日期分区创建、新增、修改、删除

Oracle11G分区表 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区.表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多 ...

Oracle数据库使用游标查询结果集所有数据

--Oracle使用游标查询结果集所有数据 DECLARE myTabelName NVARCHAR2():=''; --表名 myTableRowComment NVARCHAR2():=''; - ...

Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串

应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select  逗号隔开的字段名列表 from字符串等场合. 查询结果输出如下: 当前数据表TB_UD_ ...

SQL Server的优化器会缓存标量子查询结果集吗

在这篇博客"ORACLE当中自定义函数性优化浅析"中,我们介绍了通过标量子查询缓存来优化函数性能: 标量子查询缓存(scalar subquery caching)会通过缓存结果减 ...

Oracle Ora 错误解决方案合集

注:本文来源于 < Oracle学习笔记 --- Oracle ORA错误解决方案 > ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发 ...

随机推荐

Chap5&colon; question&colon; 29 - 31

29. 数组中出现次数超过一半的数字. 方法a. 排序取中       O(nlogn). 方法b. partition 函数分割找中位数     >=O(n). 方法c. 设计数变量,扫描一遍 ...

和为S的两个数VS和为S的连续正数序列

其实这个题目如果没有限制时间复杂度的话,那么就很简单了,一遍一遍地扫描吧.时间复杂度肯定就是 O(n2)啰.但是这题目肯定不会这么简单,否则就是小学生的水平了嘛. 其实我刚到这题的时候想到的是用二叉查 ...

PostgreSQL异步客户端(并模拟redis 数据结构)

以前为了不在游戏逻辑(对象属性)变更时修改数据库,就弄了个varchar字段来表示json,由服务器逻辑(读取到内存)去操作它. 但这对运维相当不友好,也不能做一些此Json数据里查询. 所以后面就用 ...

VC&plus;&plus;6&period;0环境下调试c语言代码的方法和步骤&lowbar;附图

1.C语言程序四步开发步骤 (1)编辑.可以用任何一种编辑软件将在纸上编写好的C语言程序输入计算机,并将C语言源程序文件*.c以纯文本文件形式保存在计算机的磁盘上(不能设置字体.字号等). (2)编译 ...

Jsp的三、七、九

1.jsp的三个编译指令 2.jsp的七个动作指令 forward param include ...

RFID标签天线的三种制作方法

在RFID标签中,天线层是主要的功能层,其目标是传输最大的能量进出标签芯片.RFID天线是按照射频识别所要求的功能而设计的电子线路,将导电银浆或导电碳浆网印在PVC.PC或PET上,再与面层.保护层和 ...

Servlet一些基础

Servlet 是一套规范,规定了如何通过Java代码来开发动态网站,并由 javax.servlet 和 javax.servlet.http 两个包中的类来实现. servlet是一个服务器端组建 ...

《团队-手机app便签-开发文档》

项目托管平台地址:https://github.com/Vcandoit/Notepad.git 我主要负责文件存储部分,文字部分使用sqlite保存. 因为我们想实现备忘录记录照片.语音的功能,所以 ...

iP私网地址

私网地址范围:A类10.0.0.0~255.255.255 B类172.16.0.0~172.31.255.255 C类192.168.0.0~192.168.255.255

&lbrack;ZJOI2012&rsqb;网络

嘟嘟嘟 今天复习lct,趁着还年轻多写点数据结构. 首先不得不吐槽一下,题面好长啊-- 通过观察发现,\(c \leqslant 10\).那么就可以暴力的建10棵lct. 接下来说下具体做法: 1. ...

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值