oracle根据多个条件分别修改符合条件的记录

declare
i number;
temp_sum number;
temp_hfmpcode temptable.pubname%type; --temptable.pubname%type指的是temptable表的pubname字段的类型
temp_fullname temptable.pubcode%type;
begin
select count(*) into temp_sum from temptable b;
i := 1;
while i<=temp_sum loop
--1、查询
select t.pubname into temp_hfmpcode from (select rownum rn,b.* from temptable b order by b.pubname) t where t.rn between i and i;
select t.pubcode into temp_fullname from (select rownum rn,b.* from temptable b order by b.pubname) t where t.rn between i and i;
--2、更新
update r_pubinfo t set t.hfmpcode=temp_hfmpcode where t.fullname=temp_fullname;
i := i+1;
end loop;
end;

以上代码在sql/plus直接运行即可

原文地址:http://blog.51cto.com/1197822/2156612

时间: 2024-08-01 14:28:38

oracle根据多个条件分别修改符合条件的记录的相关文章

mssql数据库游标批量修改符合条件的记录

//需求:由于项目刚上传,没有票数,为了表现出一定的人气,需要在一开始把各项目的票数赋一个值 , 但每个项目不能一样,否则容易看出问题,呵呵 . DECLARE @Id varchar(50) DECLARE My_Cursor CURSOR --定义游标 FOR (SELECT Id FROM dbo.kinpanAwardProject where session=9) --查出需要的集合放到游标中 OPEN My_Cursor; --打开游标 FETCH NEXT FROM My_Curs

根据某条件给GridView符合条件的值画上删除线

如博文标题,根据某些条件对GridView控件中,对符合条件的值画上删除线效果.实现这些要求,只人捕获到哪些符合要求的数据即可.GridView控件是在TemplateField模版显示数据,Insus.NET并没有使用任一控件,如label或literal等控件来呈现数据.稍后在写OnRowDataBound事件,会教大家怎样去捕获取需要的数据. 下面是对GridView控件时行数据绑定,由于在Insus.NET博客已经无数次有写到怎样创建数据,写存储过程,创建对象(类class),这些在此篇

nutch如何修改regex-urlfilter.txt爬取符合条件的链接

例如我在爬取学生在线的时候,发现爬取不到特定的通知,例如<中粮福临门助学基金申请公告>,通过分析发现原来通知的链接被过滤掉了,下面对过滤url的配置文件regex-urlfilter.txt进行分析,以后如果需要修改可以根据自己的情况对该配置文件进行修改: 说明:配置文件中以"#"开头的行为注释,以"-" 开头的表示符合正则表达式就过滤掉,以"+"开头的表示符合正则表达式则保留.正则表达式中"^"表示字符串的开头,

一个自然数在1700和1800之间,且被5除余3,被7除余4,被11除余6,求符合条件的数

昨天晚上看了一道逻辑题:一个自然数在1700和1800之间,且被5除余3,被7除余4,被11除余6,求符合条件的数.题目后面写着,有人看了几分钟便给出了答案.我很好奇,此人是如何解答的. 我自己先琢磨了下,拿笔算了半天,最后一个巧合的情况下,得到了答案.此题的一个关键且明显的推论是:能被5除余3的数,肯定最后一位是3或者8.那么接下来怎么推呢?我从网上搜集了答案. 方案1: 这个数被5除余3,则此数个位数为3或8, 设这个数十位为x,则此数可表达为1703+10x,或1708+10x当此数为17

Oracle系列:(11)通用函数和条件判断函数

使用NVL(a,b)通用函数,统计员工年收入,NVL()作用于任何类型,即(number/varchar2/date) 通用函数:参数类型可以是number或varchar2或date类型 select ename,sal*12+NVL(comm,0) from emp; 使用NVL2(a,b,c)通用函数,如果a不为NULL,取b值,否则取c值,统计员工年收入 select ename,sal*12+NVL2(comm,comm,0) from emp; 使用NULLIF(a,b)通用函数,在

PHP preg_replace() 正则替换所有符合条件的字符串

PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素 需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的. 比如模版引擎解析模版.垃圾敏感信息过滤等等. 一般这种情况,我们用正则按我们的规则去匹配preg_match.替换preg_replace. 但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少. 根据前面说的,两种场景:统计分析,用匹配:

AOP系列(二)——为符合条件的目标对象创建代理

接着上篇文章,我们将采用新的方式进行动态代理. ObjectNameAutoProxyCreator创建代理 实现思路 根据配置文件中的配置,Spring容器会根据此配置,为符合条件的对象创建代理. 具体代码 配置文件 <?xml version="1.0"?> <configuration> <configSections> <sectionGroup name="spring"> <section name=

hdu 3641 数论 二分求符合条件的最小值数学杂题

http://acm.hdu.edu.cn/showproblem.php?pid=3641 学到: 1.二分求符合条件的最小值 /*==================================================== 二分查找符合条件的最小值 ======================================================*/ ll solve() { __int64 low = 0, high = INF, mid ; while(low <=

VBA在Excel中的应用(一):改变符合条件单元格的背景颜色

在使用excel处理数据的时候,为了能更清晰的标示出满足特定条件的单元格,对单元格添加背景色是不错的选择.手工处理的方式简单快捷,但是当遇到大批量数据,就会特别的费时费力,而且不讨好(容易出错).通过代码来处理是个不错的选择,excel可以通过VBA编程来处理内部数据,在打开excel页面后,可以通过“alt + F11”组合键来启动VBA编程界面,跟VB的编程界面和语法一样,需要注意的是如何调用excel的内容.VBA通过sheet, range和cells三个层次来调用excel中的制定区域