未找到数据。

在 select 字段 Into 变量 from 表 where 条件;

这种语句中很有可能会有select 不到数据的问题,导致报错“未找到数据

要解决这种问题需要增加一个异常处理:

exception
when no_data_found then
异常处理语句;

需要注意的是,这种异常处理语句需要在begin end中间,可以在可能出现异常信息的语句段的前后加上begin end ,然后

在end 前加上异常处理语句:

 ') then 

  --找出这个单据的客户
  begin
    select rebatevalue.customer into v_customer  //这里可能出现异常
    from rebatevalue
    where rebatevalue.billguid=''||p_SalesInvoiceID||'';

    --求出返利金额表里的这个客户除本金额的已返金额
    select sum(rebatevalue.rebatedvalue),rebatevalue.customer   //这里可能出现异常
    into v_SumRebatedvalue,v_customer
    from rebatevalue
    where rebatevalue.customer=v_Customer and rebatevalue.billguid<> p_SalesInvoiceID
    group by rebatevalue.customer;

     --求出返利账本里这个客户的应返金额
    select REBATEPOLICYACCOUNT.REBATEVALUE  //这里可能出现异常
    into v_YfRebatedvalue
    from REBATEPOLICYACCOUNT
    where REBATEPOLICYACCOUNT.Customer=v_Customer;

    if(v_YfRebatedvalue<v_SumRebatedvalue) then
          Raise_Application_Error(, '$$已返金额大于应返金额,不允许保存$$');
    end if;    

     delete from rebatevalue
     where rebatevalue.billguid=p_SalesInvoiceID;

   exception         //统一对可能出现的空数据异常处理
    when no_data_found then
    Raise_Application_Error(, '$$未在返利金额表中找到这个单据数据$$');
 end;
  end if;

未找到数据,异常处理:exception when no_data_found then 异常处理语句;的更多相关文章

  1. oracle select into 的时候提示未找到数据

    ); begin '; --在select into 后面添加exception 错误处理机制 exception when no_data_found then version:= 'hhh '; ...

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

    这段时间在做一个业务,需要用到存储过程处理业务逻辑,但是出现一个ORA-01403: 未找到数据 问题, 那么这个应该如何解决这个问题 declare mixType integer; begin - ...

  3. 采购申请 POCIRM-001:ORA-01403: 无论数据未找到

    今天就让同事帮忙看问题.当请求生成采购订单,在销售模块错误提交销售订单 查看请求日志 +-------------------------------------------------------- ...

  4. 采购申请 POCIRM-001:ORA-01403: 未找到任何数据

    今天同事让帮忙看一个问题,在销售模块提交销售订单生成采购订单的请求时报错 查看请求日志 +------------------------------------------------------- ...

  5. C# Json反序列化 数据协定类型 无法反序列化 由于未找到必需的数据成员

    背景今天在使用:C# Json 序列化与反序列化 反序列化的时候出现了以下的错误信息. System.Runtime.Serialization.SerializationException: 数据协 ...

  6. 安装的SQL Server2008 R2版的连接不到本地数据,提示未找到或无法访问服务器。----复制自百度知道

    安装的SQL Server2008 R2版的连接不到本地数据,提示未找到或无法访问服务器.使用Windows身份验证 2012-09-17 00:23hj168926 | 分类:数据库DB | 浏览3 ...

  7. ORACLE PL/SQL异常处理(Exception)学习笔记

    1.PL/SQL错误类型 错误类型 报告者 处理方法 编译时错误 PL/SQL编译器 交互式地处理:编译器报告错误,你必须更正这些错误 运行时错误 PL/SQL运行时引擎 程序化地处理:异常由异常处理 ...

  8. 异常处理—Exception(三)

    最近有点事,把这个系列给落下了,给大家道个歉,这里还要感谢我的老婆,谢谢她一直对我的支持:) 系列回顾: 1.异常处理--Exception(一) 2.异常处理—Exception(二) 上一篇中主要 ...

  9. ### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: 违反完整约束条件 (SSM.SYS_C0011830) - 未找到父项关键字

    在向Oracle数据库里面插入数据时发生了以下错误 ; ]; ORA-: 违反完整约束条件 (SSM.SYS_C0011830) - 未找到父项关键字 ; nested exception : 违反完 ...

随机推荐

  1. go语言和资料

    C/C++编程相关的复杂性,特别是大一点的工程的维护,如果人员较多,规范等都是较大的负担,最近正在关注go这么语言, 准备对于并发和系统级的开发引入. Go官网 http://golang.org h ...

  2. spring.net (1) 概念-控制反转(又名依赖注入)

    Spring.net 作为一个应用程序框架,在构建企业级.net应用程序提供了很多灵活而又丰富的功能(如:依赖注入,aop,数据访问抽象,asp.net 扩展). 控制反转: Inversion of ...

  3. 造成OOM(内存溢出)的几种情况

    数据库Cursor没关.当我们操作完数据库后,一定要调用close()释放资源. 构造Adapter没有使用缓存ContentView. @Override public View getView(i ...

  4. 【读书笔记】iOS-反溃网络信息改善用户体验

    一,iOS6表视图刷新控件的使用. 二,使用等待指示器控件. 三,使用网络等待指示器. 四,使用MBProgressHUD等待指示器. 参考资料:<iOS网络编程与云端应用-最佳实践>

  5. 网络初见&网络监测

    这里需要下载一个第三方 Reachability-master 大家可以百度一下 下载之后把 Reachability拖进来 具体代码如下 #import "ViewController.h ...

  6. iOS开发之多线程技术——NSOperation篇

    本篇将从四个方面对iOS开发中使用到的NSOperation技术进行讲解: 一.什么是NSOperation 二.我们为什么使用NSOperation 三.在实际开发中如何使用NSOperation ...

  7. java的反射机制

    一.java的反射机制浅谈 最近研究java研究得很给力,主要以看博文为学习方式.以下是我对java的反射机制所产生的一些感悟,希望各位童鞋看到失误之处不吝指出.受到各位指教之处,如若让小生好好感动, ...

  8. 心理控制方法——阅读Notes

    1.自助式情感手术 祛除自我意象中的伤疤的要点 2. 你制造错误,但是错误不应造就你    你身上的缺点不是你的错  3. 不仅要原谅别人,也要原谅自己 4. 怨恨是一条通向失败的道路 5. 注意来 ...

  9. JQuery+ajax+jsonp 跨域访问

    Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料. 关于Jsonp更详细的资料请参考http://baike.baidu.com/ ...

  10. MyCat:取代Cobar数据库中间件

    什么是MyCAT?简单的说,MyCAT就是: 一个彻底开源的,面向企业应用开发的“大数据库集群” 支持事务.ACID.可以替代Mysql的加强版数据库 ? 一个可以视为“Mysql”集群的企业级数据库 ...