问题如下
函数1
create or replace function 函数名(
参数1 in varchar2,
参数2 in varchar
)return varchar2 is
返回值 varchar2(3000);
begin
...
exception
--异常处理
when others then
v_result := ' ';
return v_result;
end 函数名;
函数2
create or replace function 函数名(
参数1 in varchar2,
参数2 in varchar
)return varchar2 is
返回值 varchar2(3000);
begin
begin
...
exception
--异常处理
when others then
v_result := ' ';
end;
return v_result;
end 函数名;
原因:第一个函数在异常发生后,不会执行return语句,第二个函数的return语句会执行,应该是异常发生后,跳到当前begin的exception处理,处理完就直接跳出当前begin继续执行。