欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

一个利用Oracle异常处理的函数

程序员文章站 2022-05-13 17:46:09
...

Oracle函数主体如下:CREATE OR REPLACE FUNCTION fn_get_agmt_bal(p_agmt_no varchar2)RETURN NUMBER IS v_bal NUMBER := 0;

Oracle函数主体如下:

CREATE OR REPLACE FUNCTION fn_get_agmt_bal(p_agmt_no varchar2)
RETURN NUMBER IS
v_bal NUMBER := 0;
--在SQL/PLUS中执行时,若合dbms_output生效,,需先执行【SET SERVEROUTPUT ON】;
BEGIN
select agmt_bal
into v_bal
from edw_t01_agmt_bal_h
where agmt_no = P_agmt_no;
RETURN v_bal;
EXCEPTION
WHEN NO_DATA_FOUND THEN
dbms_output.put_line('没有找到数据,请输入合法的协议编号!');
return null;
WHEN TOO_MANY_ROWS THEN
dbms_output.put_line('返回数据太多,请输入合法的协议编号!');
return null;
WHEN OTHERS THEN
dbms_output.put_line('异常!');
return null;
END fn_get_agmt_bal;
/

说明:

1、函数中用到了dbms_output包,在SQL/PLUS中执行时,若合使dbms_output生效,需先执行【SET SERVEROUTPUT ON】。

2、这是一个利用oracle异常处理的通用格式,其他情况可依此套用。

一个利用Oracle异常处理的函数