网站建设资讯

NEWS

网站建设资讯

oracle怎么循环更新 oracle 循环更新

如何循环更新oracle一列的值

哥们,不用循环吧?再说用循环也不能解决吧,循环你的值怎么赋?你怎么知道下个记录该更新成什么?

创新互联专注于全椒网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供全椒营销型网站建设,全椒网站制作、全椒网页设计、全椒网站官网定制、微信小程序服务,打造全椒网络公司原创品牌,更为您提供全椒网站排名全网营销落地服务。

通过to_char(to_date(logintime,'yy-mm-dd'),'yyyy-mm-dd')试试可不可转换,没环境没法试,不行的话用instr函数,一句update就行了,不过我现在没时间写代码,给你个思路

instr((logintime,'-',1)可以取出第一个-的位置,然后通过substr(logintime,1,instr((logintime,'-',1)-1)取出第一个-前面的部分,就是年,20||就行了,然后再用instr(logintime,'-',2)

--这个是第2个-的位置,知道第1、2个-的位置后还是通过substr取出第1个-和第2个-之间的字符,就是月,case when一下如果是1位就补个0,。。。。依次类推,麻烦是麻烦点,但是比较通用,能适应各种情况,不过日期的话应该有规律,应该能根据规律简化不少,你自己琢磨吧.

如果你非要用循环可通过rowid这个伪列,即定义一个参数做计数用,循环一次加1,直到等于max(rowid)为止,不过我实在想不出用循环怎么弄,期待高手。。。

oracle 怎么用循环更新一张表不同数据?

FOR N IN (SELECT COLUMN1 FROM TABLE1)【这个查出结果A,B】

UPDATE TABLE2

SET COLUMN2 = N.COLUMN1

WHERE TABLE2.X=XX;

LOOP

oracle中怎么批量更新某列数据

方法一:

采用存储过程,使用循环,限制更新的条数,效率不是很高。。

方法二:

建立和目标表一样的结构的临时表(基于事务的临时表,保证主键一样),使用视图更新的操作。

update( select a.A列,b.A列 from t1 a,temp_t1 b where a.id=b.id) set a.A列=b.A列

方法三:

同样的使用临时表,根据插入产生的日志少于update的日志的办法,使用

truncate table t1;

create table t1 as select * from temp_t1;


网站标题:oracle怎么循环更新 oracle 循环更新
浏览路径:http://cdweb.net/article/hgjoop.html