oracle 循环修改数据库,循环方便oracle数据集合简单批量修改

循环便利oracle数据集合简单批量修改

之前 没有 接触过,通过 oracle 自定义 函数 处理问题 。今天有个需求 要求修改一批 字典数据的主见 ID ,变成 自增的。

由于之前 字典数据,是程序员自主维护的,主键起名。千奇百怪~所以这边要求统一下,需求很急。

简单的 分析下,无外乎啊就是把数据拿出来,把每条数据的主键更新为 自增变量 , 自增变量累加。这么个很简单的事情~

可是由于平时很少写oralce存储过程 或者 自定义函数,所以只有 思路 却不知道该怎么做。没办法,回归java吧。写了个junit 问题解决。解决问题之后,觉得应该去看看这类简单的问题,因为在以后的工作中 可能会用到。于是乎有了下面代码。

UPDATE tablename SET id='c'||id;//这里是为了防止,下面批量修改的时候报唯一约束错误!,ID 是主键

commit;

DECLARE  //类似于java的 声明变量的意思

newid NUMBER(20):=1;

CURSOR vo_array IS SELECT * FROMtablename ;

//CURSOR 指的是 指针。这里声明了一个大的集合类型的指针。

begin

for  vo invo_array loop //有些像 for(String [] var : String_array) 的感觉

updatetablename set id = newid where id =vo.id;

newid:=newid+1;

end loop;

end;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值