PL/SQL中的几种异常处理方法
2008-04-27 19:58
435 查看
这是Pona的文章,我斗胆将其贴上来,Pona不要介意哦!^_^
PL/SQL里,有三种方法可以在处理大批量数据时不会因为一条或几条数据错误而导致异常中止程序。
1、用Fetchintoacursor%TYPE把要处理的数据放到记录集里。当一条数据不符条件时,用标签<<NEXT_RECORD>>和GOTONEXT_RECORD跳转语句使程序忽略这一条,转到下一条继续处理。
-------------------------------------------------------------------------------
--FunctionName : CalculateImportCharge
--FunctionDesc : CalculateImportCharge
--Createdby : Author
--CreatedDate : 2003-05-16
-------------------------------------------------------------------------------
FUNCTIONCalculateImportCharge(
p_i_job_id INVARCHAR2,
p_i_as_of_date_idINVARCHAR2)RETURNNUMBER
AS
CURSORcur_ShipBlHeaderIS
SELECTimport_folder_no
FROMGMY_SHIP_BL_HEADER
WHERECANCEL_FLG=GMY_GA000_PKG.BL_CANCEL_FLG_OFF;
rec_ShipBlHeader cur_ShipBlHeader%ROWTYPE;
BEGIN
OPENcur_ShipBlHeader;
FETCHcur_ShipBlHeaderINTOrec_ShipBlHeader;
WHILEcur_ShipBlHeader%FOUNDLOOP
x_num_error_code:=GMY_GA000_PKG.CheckValidMasterBlNo(
p_i_job_id,
p_i_as_of_date_id,
rec_ShipBlHeader.import_folder_no,
x_vch_message);
IFx_num_error_code
IN(GMY_GA000_PKG.gn#NG,GMY_GA000_PKG.INVALID_BL_NO)THEN
x_vch_message:=
p_i_job_id
||'WARNING:FunctionCheckValidMasterBlNo@'1
PL/SQL里,有三种方法可以在处理大批量数据时不会因为一条或几条数据错误而导致异常中止程序。
1、用Fetchintoacursor%TYPE把要处理的数据放到记录集里。当一条数据不符条件时,用标签<<NEXT_RECORD>>和GOTONEXT_RECORD跳转语句使程序忽略这一条,转到下一条继续处理。
-------------------------------------------------------------------------------
--FunctionName : CalculateImportCharge
--FunctionDesc : CalculateImportCharge
--Createdby : Author
--CreatedDate : 2003-05-16
-------------------------------------------------------------------------------
FUNCTIONCalculateImportCharge(
p_i_job_id INVARCHAR2,
p_i_as_of_date_idINVARCHAR2)RETURNNUMBER
AS
CURSORcur_ShipBlHeaderIS
SELECTimport_folder_no
FROMGMY_SHIP_BL_HEADER
WHERECANCEL_FLG=GMY_GA000_PKG.BL_CANCEL_FLG_OFF;
rec_ShipBlHeader cur_ShipBlHeader%ROWTYPE;
BEGIN
OPENcur_ShipBlHeader;
FETCHcur_ShipBlHeaderINTOrec_ShipBlHeader;
WHILEcur_ShipBlHeader%FOUNDLOOP
x_num_error_code:=GMY_GA000_PKG.CheckValidMasterBlNo(
p_i_job_id,
p_i_as_of_date_id,
rec_ShipBlHeader.import_folder_no,
x_vch_message);
IFx_num_error_code
IN(GMY_GA000_PKG.gn#NG,GMY_GA000_PKG.INVALID_BL_NO)THEN
x_vch_message:=
p_i_job_id
||'WARNING:FunctionCheckValidMasterBlNo@'1
相关文章推荐
- PL/SQL中的几种异常处理方法
- PL/SQL异常处理方法
- 【Oracle】Oracle PL/SQL处理异常的特殊方法
- ORACLE PL/SQL编程之五: 异常错误处理
- PL/SQL Oracle 用sql query查询,中文字段内容显示异常的处理
- asp.net捕获全局未处理异常的几种方法
- Oracle中PL/SQL的异常处理
- 【DB.PL/SQL】程序流程控制 —— 异常处理
- asp.net捕获全局未处理异常的几种方法[转]
- hadoop 安装出现的几种异常的处理方法,hadoop无法启动,no namenode to stop问题的解决方法,no datanode
- PL/SQL程序设计 第五章 异常错误处理
- Oracle PL/SQL 程序设计读书笔记 - 第6章 异常处理
- Oracle:pl/sql 异常处理[转]
- PL/SQL教程之五:异常错误处理
- Oracle笔记 七、PL/SQL 异常处理
- Oracle PL/SQL开发基础(第三十六弹:异常处理的一些经验)
- PL/SQL学习笔记-异常处理
- pl/sql预定义异常处理
- 源码-PL/SQL从入门到精通-第十二章-异常处理机制-Part 1
- Oracle笔记 七、PL/SQL 异常处理