当前位置:Gxlcms > mysql > 一个利用Oracle异常处理的函数

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

时间:2021-07-01 10:21:17 帮助过:53人阅读

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异常处理的通用格式,其他情况可依此套用。

linux

人气教程排行