create or replace function getgzbh(mbbh in varchar2,yhlx in varchar2,yxfz in varchar2) return varchar2 is
Result varchar2(4);
BEGIN
result:='0000';
begin
select gzbh into result from sys_jsgz where yhlx=yhlx and yxfz=yxfz and mbbh=mbbh;
exception
when NO_DATA_FOUND then
result:='B201';
end;
return(Result);
END getgzbh;
调用的时候,报返回行过多,是不是指那条SQL查询语句得到的数据超过1行?可是我在数据库里直接查询只有1行。怎么解决,请高手指教。
Result varchar2(4);
BEGIN
result:='0000';
begin
select gzbh into result from sys_jsgz where yhlx=yhlx and yxfz=yxfz and mbbh=mbbh;
exception
when NO_DATA_FOUND then
result:='B201';
end;
return(Result);
END getgzbh;
调用的时候,报返回行过多,是不是指那条SQL查询语句得到的数据超过1行?可是我在数据库里直接查询只有1行。怎么解决,请高手指教。
变为“select gzbh into result from sys_jsgz where yhlx=yhlx and yxfz=yxfz and mbbh=mbbh and rownum=1” 就可以了
试试