oracle数据循环修改

oracle怎么循环修改一个列的数据比如第一个数据改成‘a’第二个数据改成‘b’第三个数据改成‘c’然后重新循环第四个数据还是‘a’第五个是‘b’第六个是‘c’这样循环到... oracle 怎么循环修改一个列的数据 比如第一个数据改成 ‘a’ 第二个数据改成‘b’ 第三个数据改成‘c’
然后重新循环 第四个数据还是‘a’ 第五个是‘b’ 第六个是‘c’ 这样循环到完
最好给点代码 急急急
展开
 我来答
micro0369
推荐于2016-04-25 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4089万
展开全部
使用游标取出数据,用一个数字变量进行计数,然后对数字求mod 3,为1的赋值a,2的赋值b,0的赋值c。
假设表有主键id,要修改的列为value,部分代码如下:

cnt := 0;
for aa in (select id from tabxxx order by id) loop
cnt:=cnt 1;
if mod(cnt,3)=1 then
update tabxxx set value='a' where id = aa.id;
elsif mod(cnt,3)=2 then
update tabxxx set value ='b' where id =aa.id;
else
update tabxxx set value ='c' where id = aa.id;
end if;
end loop;
commit;
baby十二邵小北
推荐于2016-10-14 · TA获得超过2077个赞
知道答主
回答量:476
采纳率:92%
帮助的人:26.2万
展开全部
  使用游标取出数据,用一个数字变量进行计数,然后对数字求mod 3,为1的赋值a,2的赋值b,0的赋值c。
假设表有主键id,要修改的列为value,部分代码如下:
cnt := 0;
for aa in (select id from tabxxx order by id) loop
cnt:=cnt 1;
if mod(cnt,3)=1 then
update tabxxx set value='a' where id = aa.id;
elsif mod(cnt,3)=2 then
update tabxxx set value ='b' where id =aa.id;
else
update tabxxx set value ='c' where id = aa.id;
end if;
end loop;
commit;
  Oracle一般指甲骨文公司。甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989年正式进入中国市场。2013年,甲骨文已超越 IBM ,成为继 Microsoft 后全球第二大软件公司。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
swcnjp
2013-07-10 · TA获得超过255个赞
知道答主
回答量:46
采纳率:0%
帮助的人:26.6万
展开全部
试试rownum。

update t
set t_1= decode(rownum mod 3,1,a,2,b,0,c)

很久没写程序了,语法恐怕不对,以上代码用于表明思路。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式