未找到数据,异常处理:exception when no_data_found then 异常处理语句;
未找到数据。
在 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 异常处理语句;的更多相关文章
- oracle select into 的时候提示未找到数据
); begin '; --在select into 后面添加exception 错误处理机制 exception when no_data_found then version:= 'hhh '; ...
- oracle存储过程出现ORA-01403: 未找到数据 问题解决方法
这段时间在做一个业务,需要用到存储过程处理业务逻辑,但是出现一个ORA-01403: 未找到数据 问题, 那么这个应该如何解决这个问题 declare mixType integer; begin - ...
- 采购申请 POCIRM-001:ORA-01403: 无论数据未找到
今天就让同事帮忙看问题.当请求生成采购订单,在销售模块错误提交销售订单 查看请求日志 +-------------------------------------------------------- ...
- 采购申请 POCIRM-001:ORA-01403: 未找到任何数据
今天同事让帮忙看一个问题,在销售模块提交销售订单生成采购订单的请求时报错 查看请求日志 +------------------------------------------------------- ...
- C# Json反序列化 数据协定类型 无法反序列化 由于未找到必需的数据成员
背景今天在使用:C# Json 序列化与反序列化 反序列化的时候出现了以下的错误信息. System.Runtime.Serialization.SerializationException: 数据协 ...
- 安装的SQL Server2008 R2版的连接不到本地数据,提示未找到或无法访问服务器。----复制自百度知道
安装的SQL Server2008 R2版的连接不到本地数据,提示未找到或无法访问服务器.使用Windows身份验证 2012-09-17 00:23hj168926 | 分类:数据库DB | 浏览3 ...
- ORACLE PL/SQL异常处理(Exception)学习笔记
1.PL/SQL错误类型 错误类型 报告者 处理方法 编译时错误 PL/SQL编译器 交互式地处理:编译器报告错误,你必须更正这些错误 运行时错误 PL/SQL运行时引擎 程序化地处理:异常由异常处理 ...
- 异常处理—Exception(三)
最近有点事,把这个系列给落下了,给大家道个歉,这里还要感谢我的老婆,谢谢她一直对我的支持:) 系列回顾: 1.异常处理--Exception(一) 2.异常处理—Exception(二) 上一篇中主要 ...
- ### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: 违反完整约束条件 (SSM.SYS_C0011830) - 未找到父项关键字
在向Oracle数据库里面插入数据时发生了以下错误 ; ]; ORA-: 违反完整约束条件 (SSM.SYS_C0011830) - 未找到父项关键字 ; nested exception : 违反完 ...
随机推荐
- setTimeout和setInterval
setTimeout(methodName, interval); //间隔时间单位为毫秒,表示interval毫秒后执行方法methodName setInterval(methodName, in ...
- 如何处理 android 方法总数超过 65536 . the number of method references in a .dex file exceed 64k
一:问题描述: 应用中的Dex 文件方法数超过了最大值65536的上限,简单来说,应用爆棚了. 二.解决方案: 方案1:使用插件化框架 比如: https://github.com ...
- Java中"\t"表示几个空格
\t是补全当前字符串长度到8的整数倍,最少1个最多8个空格补多少要看你\t前字符串长度 测试程序: 测试结果: 总结:运行到“\t”时,判断当前字符串长度,将当前字符串长度补到8的倍数(不包括0).
- iOS 被拒问题及原因 - IDFA问题
IDFA问题 iOS APP上线被拒绝的问题解决(AdSupport),百度统计,友盟统计,讯飞语音等 苹果反馈信息如下: .... To process your delivery, the f ...
- 【工具相关】iOS-Reveal的使用
一,首先下载Reveal工具. Reveal的下载地址:http://revealapp.com/download. 下载界面如下图所示,选择Download Trail蓝色按钮可以进行下载: 二,新 ...
- iOS之 opencv3.0.framework
本文章的目的是从源代码包中编译出opencv2.framework供IOS开发使用. 基本上是按照http://docs.opencv.org/3.0-beta/doc/tutorials/intro ...
- SYN Flood应如何应对
1 什么是SYN Flood攻击 在TCP三次握手时,服务器接收客户端的SYN请求,操作系统将为该请求分配一个TCP(Transmission Control Block),服务器返回一个SYN/AC ...
- Java Security:公钥私钥、数字签名、消息摘要是什么
1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥. 2. 鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把. 3. 苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到保密的 ...
- ibatis动态多条件查询及模糊查询(oracle,mysql,sql)
首先是模糊查询的问题,开始时我使用如下条件:select * from user where name like '%#value#%'. 可是怎么也不行,好像还报错了.后来在网上找到了解决方法,就是 ...
- VBA宏 合并EXCEL
1.合并多个Excel工作簿 Sub MergeWorkbooks() Dim FileSet Dim i As Integer Application.ScreenUpdating = False ...