ORA-01403: 未找到数据问题+存储过程循环跳转

    执行一个PL/SQL 块,总是报这个错:ORA-01403: 未找到数据问题,在网上搜索了半天,找到一个解决办法。

比较彻底的办法就是添加一个异常处理~

    另外,在其中还应用了存储循环跳转应用,很好地复习了存储过程开发!解决问题方法如下:

DECLARE
  vn_sum_old NUMBER(10);
  vn_sum_new NUMBER(10);
  vn_count NUMBER(10) := 0;

  cursor get_tcf is
  SELECT account_id AS acct_id,user_idnew AS user_id,perserve01 AS acct_item_type_id from table_a  
  where city_code='921'
  and fee_date='201107'
  and table_source = 0
  and perserve03 is null
  and disct_rule_id=211100278;
 
BEGIN
     for cur in get_tcf LOOP
        SELECT SUM(charge) INTO vn_sum_old
        FROM table_d
        WHERE acct_item_type_id =  cur.acct_item_type_id
        AND acct_id = cur.acct_id
        GROUP BY acct_id;
       
        BEGIN               --这是针对性异常处理的应用
            SELECT NVL(SUM(fee),0) INTO vn_sum_new
            FROM ucr_dtb1.table_c
            WHERE
              detail_item_code IN(
                SELECT new_item_code FROM table_b@to_accttst
                WHERE acct_item_type_id IN cur.acct_item_type_id
              )
            AND acct_id = cur.acct_id
            GROUP BY acct_id ;
        EXCEPTION
        WHEN no_data_found THEN
        --NULL;
        GOTO point1;  --这是循环跳转应用
        END;

        IF vn_sum_old = vn_sum_new THEN
           UPDATE table_a SET perserve03 = '............'
           WHERE
           perserve01 = cur.acct_item_type_id
           AND user_idnew = cur.user_id;
        END IF;
     
        IF vn_count = 100 THEN
           COMMIT;
           vn_count := 0;
        END IF;
        vn_count := vn_count+1;
       
        <<point1>>   --这是断点设置
        NULL;
       
     end loop;
    
     DBMS_OUTPUT.PUT_LINE(vn_count);

END ;
 

GD32F4系列替换STM32F4,HAL库CAN初始化卡死?一个Sleep模式的坑与填坑实录 本文详细解析了GD32F4系列替换STM32F4时,HAL库CAN初始化卡死的问题根源——Sleep模式差异。通过对比两款芯片CAN控制器的默认状态,提出了不修改HAL库源码的解决方案,即在HAL_CAN_MspInit()中清除SLEEP位,并分析了该方法的优势。文章还提供了国产MCU替换的通用建议和调试技巧,帮助开发者高效解决问题。 阅读详情

相关推荐

【Xilinx】如何在petalinux下编译vcu-gst-app以及独立编译vcu-gst-app

Xilinx从2018.1开始,提供了一套基于zcu106的vcu参考设计。里面提供了一套基于GStreamer的程序,即vcu-gst-app。如何脱离petalinux直接编译呢,这里以为例,其他版本也是类似的操作。

王师傅 3040

Oracle中SQL与PL/SQL选型实战:操作粒度、逻辑复杂度与执行位置三把尺子

SQL是声明式数据操作语言,核心价值在于解耦‘要什么’与‘怎么做’,依赖优化器生成执行计划;PL/SQL则是过程化编程语言,专为分支判断、循环控制、异常处理和多步事务编排而生。二者差异本质是问题域的分野:单集查询、原子更新优先用SQL以保障性能与可维护性;涉及状态管理、跨表联动、副作用(如发邮件/写日志)或批量校验时,则必须交由PL/SQL。Oracle数据库内生执行、减少网络往返、规避上下文切换(如BULK COLLECT+FORALL),是PL/SQL不可替代的技术价值。典型应用场景包括会员等级实时计算

anwenzhao0749的博客 404

Halcon棋盘格畸变矫正

通常我们使用的相机都是带有一定的畸变的,只是畸变的大小不同。对于我们常见的测量项目来说,对测量精度的要求很高,通常从相机镜头上进行优化,但是即使镜头优化或者成本原因,造成图像仍有一定的畸变时,我们就可是使用棋盘格标定板,进行畸变矫正。

m0_51559565的博客 3396

ORA-01403未找到任何数据select into问题分析

Dont blame the Car- Learn to be a Good Driver! ORA-01403 未找到任何数据问题分析

Keep learing, and stay fast 1万+

喷雾破碎模型解析:从理论到CFD应用实践

本文深入解析喷雾破碎模型的理论基础与CFD应用实践,重点介绍KHRT、TAB和ETAB等主流模型的核心原理与工程调参技巧。通过OpenFOAM实例演示和参数优化建议,帮助工程师精准预测液滴破碎行为,提升燃烧效率与排放控制性能,适用于汽车发动机、燃气轮机等工业场景。

weixin_29281915的博客 499

AC360变频器使用案例

AC360变频器使用案例!

QING_BOSS的博客 517

ORA-01403:no data found 解决办法

1. 存储过程中 ORA-01403: no data found 错误 在存储过程中,select 字段名  into  变量 from 表名 where .........; 如果查询出来为空时, 会出现  ORA-01403: no data found 的错误 测试表: create table TEST_TABLE   (     T_ID  NUMBER, 

u014112828的博客 3万+

Flutter + shorebird 热更新+自定义cdn下载

本文介绍了如何优化Flutter热更新方案Shorebird在国内网络环境下的使用体验。Shorebird默认使用海外CDN存在下载慢、连接不稳定等问题,建议将补丁包上传至国内CDN(如阿里云OSS)。文章详细讲解了Shorebird环境配置、项目集成、构建发布流程,并重点说明了如何修改客户端代码实现自定义补丁下载逻辑。通过替换默认下载器,将补丁下载地址指向国内CDN,可显著提升下载速度和稳定性。这种方案既保留了Shorebird的热更新能力,又解决了国内网络环境下的痛点,适合国内企业部署使用。

sir_Hu的博客 770

解决Oracle报错ORA-01403: 未找到任何数据

oracle遇到select into 报错未找到任何数据

shaojiayong的博客 1万+

【CASS精品教程】032:CASS11台阶画法案例大全

一、普通无边台阶 二、普通有边台阶 三、普通圆弧无边台阶 四、U型台阶 五、曲线U型台阶 六、L型台阶

智慧空间实验室 7465

7、RNA 二级结构预测:包含接吻发夹基序的新策略

本文提出三种用于预测RNA二级结构中接吻发夹基序的新策略,结合规范化规则与非歧义动态规划,分别在时间与空间复杂度之间进行权衡。策略A以O(n⁴)时间和O(n²)空间实现高效预测;策略B通过存储次优结果扩大搜索空间,空间复杂度升至O(n³);策略C全面探索组合可能,时间复杂度为O(n⁵),但保持O(n²)空间。实验表明不同策略适用于不同复杂度的序列,为RNA结构预测提供了灵活且可扩展的解决方案。

j7k8l的博客 132

oracle存储过程中ORA-01403: 未找到数据 问题解决方法

错误提示:ORA-01403: 未找到数据产生原因:当查询不到数据时,且把查询结果注入到定义的变量里面解决方法:            1.跳出此次存储过程: 可以写个错误提示:                 when not_data_found then --后面一般接错误的数据提示消息            2.不跳出存储过程:                 由于错误的根本原因是数据不存...

hp961218的博客 2万+

linux系统下XDMA驱动的安装与测试问题总结

先看两个常见的问题。一个是驱动安装问题,一个是驱动测试错误;error 512 能识别PCIE的设备,但是The kernel modle installed correctly, but no devices were recognized.

whm128的博客 3805

oracle 存储过程 ora-01403: 未找到任何数据,ORA-01403: 未找到数据问题+存储过程循环跳转...

执行一个PL/SQL块,总是报这个错:ORA-01403: 未找到数据问题,在网上搜索了半天,找到一个解决办法。比较彻底的办法就是添加一个异常处理~另外,在其中还应用了存储循环跳转应用,很好地复习了存储过程开发!解决问题方法如下:DECLAREvn_sum_old NUMBER(10);vn_sum_new NUMBER(10);vn_count NUMBER(10) := 0;cursor g...

weixin_30134145的博客 457

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

ODBC数据源的问题!

安装VCENTER时候遇到下面的问题: ORA-12012: 鑷姩鎵ц浣滀笟 23 鍑洪敊 ORA-01403: 鏈壘鍒颁换浣曟暟鎹? ORA-06512: 鍦?"VCADMIN.STATS_ROLLUP1_PROC", line 245 ORA-06512: 鍦?line 1 Mon Mar 19 20:32:08 2012 Errors in file c:\app\admi

henrybai的专栏--大亨利白--大码 1350

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

DBASK问答集萃第七期

引言 DBASK是一个在线浏览数据库最新资讯和技术文章的微信小程序,还可以查阅知识库提交问题。近期我们在DBASK小程序新关联了PingCAP公众号,将最新资讯模块放在首页第一栏显示,同时调整了文章显示样式,优化知识库显示内容,欢迎大家到小程序内体验。 问答集萃 接下来,我们分享本期整理出的问题和诊断总结,供大家参考学习,详细的诊断分析过程可以通过标题链接跳转到小程序中查看。 问题一、oracle...

weixin_45264415的博客 260

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex&trade;-M4F 内核的信息,请参见《Cortex&trade;-M4F 技术参考手册》。

【转Oracle】pl/sql中的异常处理

Oracle中异常分为预定义异常,非预定义异常和自定义异常三种。 [size=x-large][b]预定义异常:[/b][/size] 1 CURSOR_ALREADY_OPEN该异常触发ORA-06511错误。 当程序中的一个游标已经执行了打开操作,如果开发人员试图再一次打开这个已经打开的游标时,将触发该异常。 2 INCALID_CURSOR该异常触发ORA-01001错误。 ...

wangjingyi 263

pl/sql异常学习笔记

在 PL / SQL 中错误信息处理过程分为两步: 引发错误和处理错误。编译处误是由 PL/SQL 编译器产生的,它们应该在执行程序前解决。 PL/SQL 异常:类型与定义 处理异常有 3 个基本的步骤: 1、 声明异常(显式或隐式地声明) 2、 引发异常(显式或隐式地引发) 3、 处理异常(如果需要处理的话) ...

小头猪 199

oracle 使用异常exception

例外 例外(exception)是一种PL/SQL标识符,它用于处理PL/SQL程序的运行错误。Oracle提供了预定义例外、非预定义例外和自定义例外等三种例外类型,其中预定义例外用于处理常见的Oracle错误,非预定义例外用于处理预定义例外所不能处理的Oracle错误,自定义例外用于处理与Oracle错误无关的其他情况。 1.语法 EXCEPTION WHEN exception1 [OR ex...

极客神殿 1万+

(转)Oracle 中的exception——(Raise)

1.GOTO,主要用于跳转,但会打乱我们的程序逻辑,一般不使用,它可以实现RETURN,EXIT的功能 2.RETURN,返回程序末尾,结束程序 3.EXIT,主要用于退出当前循环,相当于java中的break. 1、异常的优点如果没有异常,在程序中,应当检查每个命令的成功还是失败,如BEGINSELECT ...-- check for ’no data found’ errorSELEC...

gengyigang的专栏 380

Oracle - PL / SQL基础语法,了解块结构与变量定义

在企业级数据库开发与运维的广阔天地中,Oracle 数据库始终占据着不可撼动的核心地位。而支撑其强大业务逻辑处理能力的,正是—— 一种专为 Oracle 设计的、过程化扩展的 SQL 编程语言。它不是简单的“SQL 加个 IF”,而是一套完整、健壮、可嵌套、可异常捕获、可事务控制的编程范式。🎯如果你曾用 Java 编写过 Spring Boot 微服务,或用 Python 构建过数据管道,那么你一定熟悉「变量声明 → 逻辑分支 → 循环迭代 → 异常处理 → 资源释放」这一经典执行流。

千淘万漉虽辛苦,吹尽狂沙始到金 1万+

PL/SQL -- 异常处理 Exception

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --================================-- PL/SQL --&gt; 异常处理(Exception)--================================&

uffvhj的博客 233

MuleSoft企业级AI编排:构建安全可审计的LLM业务中枢

大语言模型(LLM)在企业落地面临数据主权、协议异构与可观测性三大核心挑战。其本质是概率性黑盒与确定性事务系统的结构性冲突。MuleSoft凭借语义桥接、上下文编织、策略执行与韧性保障四层能力,将LLM从文本生成工具升级为可嵌入SAP、Workday等关键系统的认知层。通过DataWeave结构化转换、Parallel For Each跨系统上下文组装、Anypoint Policy集中治理及Fallback Flow混合AI容错,实现LLM驱动的真实业务动作——如采购审批、客服决策等。本文聚焦MuleSo

weixin_30940783的博客 456

PL/SQL的异常处理

  原文转自:http://oracle.chinaitlab.com/PLSQL/797300.html 在 PL / SQL 中错误信息处理过程分为两步: 引发错误和处理错误。编译处误是由 PL/SQL 编译器产生的,它们应该在执行程序前解决。   PL/SQL 异常:类型与定义   处理异常有 3 个基本的步骤:   1、 声明异常(显式或隐式地声明)   2、 引发异常(显式...

iteye_9670的博客 356

Oracle异常的处理

什么是异常?    学习异常之前,必须了解什么是异常,关于异常的众家说法,我们只用记住:异常用于处理业务逻辑,控制跳转!   异常有两个属性: 异常编号  SQLCODE(-1 之 -100000) 异常描述 SQLERRM 关于异常的几种定义:    以       定义a,b变量,输出其商做范例(分母为0时的EXCEPTION):     获取异常对象信息(SQLCO...

Depth 403

ORA-01403未找到数据

今日在写存储过程的时候总是提示:ORA-01403未找到数据的错误。其中jkcode,serialid是varchar2(64)。语句是这样的:select      jk_code,serial_id into jkcode,serialidfrom     contract_account,customer,mp,meterwhere    contract_accou

chenzongcheng的专栏 1万+
上一篇: 写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出.........
下一篇: Struts开发异常-1
ccfangle
博客等级 码龄20年 1粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值