@@@哪个帅哥帮我看一下这个修改表中某个字段记录不重复的函数有什么问题@@@

funnyball 2004-02-27 11:22:13
表Collect_Crowd中有3万多条记录
字段PersonID不重复的记录只有885条
我要写一个函数把字段PersonID重复的记录改为新的不重复的记录
函数如下:
create or replace function ModPersonID
return varchar2 is
newid varchar2(8);
cursor a is
select * from collect_crowd where property=3;
begin
select min(personid) into newid
from collect_crowd where property=3;
for ParTable in a loop
update collect_crowd set personid=newid
where personid=ParTable.personid and property=3;
newid:=lpad(to_number(newid)+1,8,'0');
end loop;
return '修改表Collect_Crowd的字段PersonID重复记录操作成功!';
exception
when others then
return '操作失败!';
rollback;
end;
执行函数时返回'操作失败!',
请问为什么函数不能按照目的正确执行?错在了什么地方呢?
...全文
19 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复

17,078

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧