Oracle 为什么我的函数在一种情况下找不到数据时继续执行其他情况?

Oracle 为什么我的函数在一种情况下找不到数据时继续执行其他情况?,oracle,plsql,Oracle,Plsql,我使用exception和continue语句,但即使我得到了错误- 06503. 00000 - "PL/SQL: Function returned without value" *Cause: A call to PL/SQL function completed, but no RETURN statement was executed. 我尝试使用异常并继续 EXECUTE IMMEDIATE v_sql INTO v_valor; EXCEPTI

我使用exception和continue语句,但即使我得到了错误-

06503. 00000 -  "PL/SQL: Function returned without value"
*Cause:    A call to PL/SQL function completed, but no RETURN statement was
           executed.
我尝试使用异常并继续

EXECUTE IMMEDIATE v_sql INTO v_valor;

  EXCEPTION 
   WHEN NO_DATA_FOUND THEN v_valor:= 0 ; 

return result;

-- In the loop
 CONTINUE WHEN v_valorNuevo = 0;

当一个案例没有数据时,我希望得到其余的案例。

似乎您只在异常案例中返回结果。所有情况都需要为函数返回一个值。

I返回所有情况下的结果cases@ArturoHotsulyak是否可以共享整个代码?@Arturhotsulyak您需要阅读有关Oracle块结构的文档。发布的代码将仅在找不到日期的情况下执行“return result”语句。很难确切地说出出现此错误的原因,因为示例代码不是完整的函数。但是,该错误意味着您退出函数时未设置返回值。检查您可以退出函数的所有方式,例如通过异常路径和非异常路径退出函数,并在适当的情况下添加缺少的返回。我们不可能在不查看整个代码或至少是演示问题的修订版本的情况下回答此问题。