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
Oracle 如何循环查询结果集,进行新增或修改的更多相关文章
- 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():=''; - ...
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
c#封装DBHelper类 public enum EffentNextType { /// <summary> /// 对其他语句无任何影响 /// </summary> ...
- Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串
应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select 逗号隔开的字段名列表 from字符串等场合. 查询结果输出如下: 当前数据表TB_UD_ ...
- SQL Server的优化器会缓存标量子查询结果集吗
在这篇博客"ORACLE当中自定义函数性优化浅析"中,我们介绍了通过标量子查询缓存来优化函数性能: 标量子查询缓存(scalar subquery caching)会通过缓存结果减 ...
- Oracle Ora 错误解决方案合集
注:本文来源于 < Oracle学习笔记 --- Oracle ORA错误解决方案 > ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发 ...
随机推荐
- Python.错误解决:scrapy 没有crawl 命令
确保2点: 1.把爬虫.py复制到spiders文件夹里 如执行scrapy crawl demo ,spiders里面就要有demo.py文件 2.在项目文件夹内执行命令 在scrapy.cfg所在 ...
- javascript 创建video元素
<!DOCTYPE html> <html> <body> <h3>演示如何创建 VIDEO 元素</h3> <p>请点击按钮来 ...
- Digits of Factorial LightOJ - 1045
题目就不再发了,大致意思就是给你一个十进制数n,算出阶乘后转换成K进制的数,你来算一下它的位数. 坑点在哪呢,就是这个数可能算阶乘的时候没放弄了,比如1000000,做过最多单算阶乘的题也就是让你算到 ...
- Rxbus的使用
Rxbus是一种模式,在RxJava中 一.添加依赖 compile 'io.reactivex:rxandroid:1.2.0' compile 'io.reactivex:rxjava:1.1.5 ...
- anusplina 4.36版本使用提示 说明
1),必须要注意的是,你生成的dat文件中,第一列必须是气象站点编号:第二列必须是经度数值,而且是投影坐标下,以 米 为单位:第三列必须是纬度了:第四列必须是海拔了:之后就是你自己的数据,比如平均温度 ...
- Cordova插件:InAppBrowser
版权声明:本文为博主原创文章,转载请注明出处 一.应用场景 我们在做cordova app开发的时候,可能会经常遇到这种需求.比如在你的app中,你想打开一个URL,但是又不想跳转到系统的浏览器去打开 ...
- 通过TortoiseSVN进行文件(夹)外链 External File
1.假设将server/a.lua文件外链到client文件夹中 2.在client文件夹空白处右键->TortoiseSVN->Properties->New->Extern ...
- JAVA基础知识总结:十八
一.进程和线程 1.进程 是一个程序的运行状态和资源占用的描述 进程的特点: a.独立性:不同的进程之间是独立的,相互之间资源不共享 b.动态性:进程在系统中不是静止不动的,而是一直活动的 c.并发性 ...
- Java Config for WebProject
1.Java EE vs Java SE They are just official SDK,when using IDE,it's ok to just install jdk/jre. &quo ...
- windows下开启端口映射配置办法
#1.添加一个端口映射 netsh interface portproxy add v4tov4 listenaddress=大网IP listenport=端口 connectaddress=要映 ...