存储过程结合游标的使用错误--------ORA-01403
来源:互联网 发布:亨通大数据产业园 编辑:程序博客网 时间:2024/05/16 05:04
在存储过程结合游标的使用过程中报出ORA-01403未找到数据错误!
贴出一个小 demo,不用看表名和数据
create or replace procedure PROC_ADDETCDATA AS crstrnum varchar2(20); CURSOR etc_data IS select t.cardnbr from cardetcinfo t where nvl(t.custr,0)=0; begin for etcdata_data in etc_data LOOP BEGIN select t1.CUSTR into crstrnum --错误行 from carddetails t1 where t1.cardnbr= etcdata_data.cardnbr; dbms_output.put_line(crstrnum); update cardetcinfo t2 set t2.custr=crstrnum; end; end loop; commit; end PROC_ADDETCDATA;
一看到这个 “未找到数据错误”
1.首先会去想游标是不是为空的 ,验证之后排除游标原因
2.一步一步调试代码,发现错误行,之后拿游标的值为条件去测试错误行的sql,会发现错误行的sql拼上游标内的条件后查询结果为空,找到原因所在
为避免这个原因可以加上异常捕获处理,并可以作为异常日志写入库中
EXCEPTION
WHEN OTHERS THEN
V_ERROR := SQLCODE;--可在创建游标时声明参数
DBMS_OUTPUT.PUT_LINE(V_ERROR);
--本行可写插入语句
COMMIT;
ROLLBACK;
如有描述不清楚的地方,还请回帖,必定回复!!
阅读全文
1 0
- 存储过程结合游标的使用错误--------ORA-01403
- Sql 存储过程加游标结合的使用
- oracle 参数游标和存储过程的结合使用
- 存储过程+嵌套游标结合使用的实例
- 存储过程与游标 结合在一起使用
- 游标,ORA-24338,存储过程
- Oracle存储过程与游标结合的分页
- 存储过程使用游标
- 存储过程游标使用
- 带游标的存储过程的使用
- MySQL 存储过程游标错误
- 存储过程及游标的使用
- oracle存储过程和游标的使用
- oracle存储过程与游标的使用
- PLSQL游标的使用_存储过程
- oracle存储过程和游标的使用
- oracle 存储过程和游标的使用
- 存储过程与游标的配合使用
- 好玩的东西
- 人工智能A7论坛2017年迄今最新人工智能资源盘点
- 写给in4sec的粉丝和志同道合的小伙伴们
- [effectiv c++]条款25:考虑写出一个不抛出异常的swap函数
- 零基础学习C++(一)
- 存储过程结合游标的使用错误--------ORA-01403
- Qt使用OMYSQL测试(前提是已经安装驱动)
- 待解决问题
- js解析lrc歌词
- Unity3d 控制物体transform移动的几种方法
- Java I/O 流的几种典型用法
- python---在文本/文章中统计字符串中出现单词次数
- keychain
- 个人笔记-记录一些小的细节即函数用法