oracle里德函数是不是一定要有返回值?
不写return就报错。

解决方案 »

  1.   

    对,必须有返回值。详见它的语法:
    CREATE [OR REPLACE] FUNCTION function_name
    [(parameter_name1 parameter_mode datatype,
       ... ...
    parameter_nameN parameter_mode datatype)]
    RETURN datatype
    [AUTHID {DEFINER | CURRENT_USER}]
    {IS | AS}
       [PRAGMA AUTONOMOUS_TRANSACTION;]
       [local declaration section]
    BEGIN
       executable section
    [EXCEPTION
       exception handling section]
    END [function_name];
      

  2.   

    必须有return 
    要是想返回多个值可以用过程
      

  3.   


    1,必须要有返回值,不然会报错的,这时候函数定义规定的。2,如果你既想实现函数里面的sql功能,又想不返回值的话,可以用存储过程来实现。
      

  4.   

    返回值必须有,但是你可以几个function写到一个包里面这样查找和看都比较方便.