SELECT * INTO ownercnclrentadjEntity FROM  OWNERCNCLRENTADJ  
              WHERE COMPANYID=iCompanyId 
                 AND OWNERCONTRACTNO=iOwnerContractNo 
                 AND SLIPAPPROVALCLASS='2' 
                 AND DELETECLASS='0' 
                 ORDER BY OWNERCNCLADJBRANCHNO DESC
;  --这句sql如果没有查询到数据就会抛异常,执行不下去了,如何解决          
       IF  SQL%NOTFOUND THEN
           oEndStatus:=Log_Util.BATCHENDSTATUS_ERROR_ABORT;
           mLogger.WRITE_LOG('COMPANYID:'|| iCompanyId || 'OWNERCONTRACTNO:' || iOwnerContractNo,
                             'EBLS0001',
                             iOwnerContractNo,
                             oEndStatus);
           RAISE ownercnclrentadjNotFound;
       ELSE
           wOwnerCancellationDate:=ownercnclrentadjEntity.CANCELLATIONDATE;
       END IF;

解决方案 »

  1.   

    捕获了不是就可以正常运行了吗?我的意思不是你捕获 RAISE ownercnclrentadjNotFound;
    这句抛出的异常,而是select into语句的时候如没有返回行会抛出no_data_found异常,抛出异常之后,他后面的语句就没有执行的机会了。
    “我有些地方没查询到数据是不会报异常的”是否也是select into?