游标循环更新表的时候限制条件无效

以下是代码declaretypejinweiisrecord(xmvarchar2(22),jibengznumber,jiangjinnumber,shifagznum... 以下是代码
declare
type jinwei is record(
xm varchar2(22),
jibengz number,
jiangjin number,
shifagz number
);
cursor jwrq_cur is
select xm,jibengz,jiangjin,shifagz from zy_gz for update ;
begin
for jinwei in jwrq_cur loop
if jinwei.shifagz<2000 then update zy_gz set
beizhu='低收入';
end if;
end loop;
end;

总是整张表的备注都给我改成低收入,我也是醉了。除非我在update后面加入限制shifagz<2000
但是那样的话,我做这个游标还有啥意义呢……直接update就行了,初学者哈,想不明白这里的意义
展开
 我来答
renfengjun1986
2016-09-09 · 知道合伙人软件行家
renfengjun1986
知道合伙人软件行家
采纳数:925 获赞数:1553
中国地质调查局特聘数据库专家 CSDN博客专家 百度知道数据库行家 炼数成金版主 想了解更多请关注我的博客:

向TA提问 私信TA
展开全部
cursor jwrq_cur is
select xm,jibengz,jiangjin,shifagz from zy_gz for update ;
begin
for jinwei in jwrq_cur loop
if jinwei.shifagz<2000 then update zy_gz set
beizhu='低收入';
end if;
end loop;
end;
改为
cursor jwrq_cur is
select xm,jibengz,jiangjin,shifagz,rowid from zy_gz for update ;
begin
for jinwei in jwrq_cur loop
if jinwei.shifagz<2000 then update zy_gz set
beizhu='低收入' where rowid=jinwei.rowid ;
end if;
end loop;
end;

加个rowid限制条件就行了。不然每次循环你都会更新一次zy_gz这个表,设置beizhu='低收入'。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式