oracle数据循环修改
oracle怎么循环修改一个列的数据比如第一个数据改成‘a’第二个数据改成‘b’第三个数据改成‘c’然后重新循环第四个数据还是‘a’第五个是‘b’第六个是‘c’这样循环到...
oracle 怎么循环修改一个列的数据 比如第一个数据改成 ‘a’ 第二个数据改成‘b’ 第三个数据改成‘c’
然后重新循环 第四个数据还是‘a’ 第五个是‘b’ 第六个是‘c’ 这样循环到完
最好给点代码 急急急 展开
然后重新循环 第四个数据还是‘a’ 第五个是‘b’ 第六个是‘c’ 这样循环到完
最好给点代码 急急急 展开
展开全部
使用游标取出数据,用一个数字变量进行计数,然后对数字求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;
假设表有主键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;
展开全部
使用游标取出数据,用一个数字变量进行计数,然后对数字求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 后全球第二大软件公司。
假设表有主键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 后全球第二大软件公司。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试rownum。
update t
set t_1= decode(rownum mod 3,1,a,2,b,0,c)
很久没写程序了,语法恐怕不对,以上代码用于表明思路。
update t
set t_1= decode(rownum mod 3,1,a,2,b,0,c)
很久没写程序了,语法恐怕不对,以上代码用于表明思路。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询