저는 다른 사람들의 코드를 담당 한 연수 개발자입니다. 따라서 대부분의 작업이 자신의 작업을 수정하게 될 것입니다. Oracle 10g에서 Report Builder를 사용하고 있습니다.예외로 인해 코드가 실행되지 않습니다.
function get_addressFormula return Char is
begin
if :payee_ctc_id is not null then
begin
select a.address
,a.address2
,a.address3
,g.location
,g.ppostcode
into :address1
,:address2
,:address3
,:address4
,:postcode
from ctc_address a
,geo_locations g
where a.addresstypeid = 1
and a.costcentreid = :payee_ctc_id
and g.locationid = a.locationid
and a.addressid = (select max(i.addressid)
from ctc_address i
where i.costcentreid = :payee_ctc_id
and i.addresstypeid = 1);
exception
when others then
return null;
while trim(:address1) is null and (trim(:address2) is not null or trim(:address2) is not null or trim(:address4) is not null)
loop
:address1 := :address2;
:address2 := :address3;
:address3 := :address4;
:address4 := '';
end loop;
while trim(:address2) is null and (trim(:address3) is not null or trim(:address4) is not null)
loop
:address2 := :address3;
:address3 := :address4;
:address4 := '';
end loop;
while trim(:address3) is null and trim(:address4) is not null
loop
:address3 := :address4;
:address4 := '';
end loop;
end;
else
begin
<else code>
end;
end if;
return 'y';
end;
이 마지막으로 다른 블록을 제외한 모든 기능은 다음과 같습니다
나는 공식에서 다음과 같은 설정이있다. no_data_found 시도했지만 여전히 작동하지 않습니다.
@tbone. 어떻게해야할지 모르겠다. 지금까지 운이 좋지 않은 RAISE에서 인터넷 검색을 한 적이 있습니다.
실제로 예외를 발생시키고 null을 반환하는 대신 예외를 발생 시키길 원할 수 있습니다. 이것이 당신이 무슨 일이 일어 났는지 알지 못하는 이유입니다. – tbone
더 많은 코드를 표시하고 실행되지 않은 코드를 지적 할 수 있습니까? 'EXCEPTION' 이후의 코드가 실행되지 않으면 예외가 항상 throw되고 블록이'RETURN NULL '로 끝나는 것을 의미합니다. –
중요한 구문이 예제에서 제거되었으므로 이에 대해 언급하기는 어렵습니다. –