双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

存储过程中,游标遍历到最后一行记录,报错oracle ORA-06502 PL/SQL:数字或值错误

mysqldbd mysqldbd 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
存储过程中,游标遍历到最后一行记录,报错oracle ORA-06502 PL/SQL:数字或值错误:

存储过程如下:


create or replace procedure pro_fp  is
begin
Declare
CURSOR bcur
IS SELECT sessionid,transcript from of.fpsession where rownum<15;
brec bcur%ROWTYPE;
BEGIN
-- insert into testlong1(id,name) select id,name from testlong;--其它类型先插入
OPEN bcur;
LOOP
FETCH bcur INTO brec;
EXIT WHEN bcur%NOTFOUND;
update of.fpsession_3 set transcript=brec.transcript where sessionid=brec.sessionid;
commit;
END LOOP;
CLOSE bcur;
END;
end pro_fp;


报错的行定位在:FETCH bcur INTO brec;就只执行到最后一行的时候报错,但是所有的数据都通过update执行成功了。

大家看下,怎么避免最后一行报错,我的sessionid字段是varchar类型,transcript 是long类型的。
...全文
评论 4
收藏 已收藏
分享
返回顶部
mysqldbd
Oracle 17,133 成员 55,258 内容