好像是
如果是procedure
execute procedure_name(PARA1,PARA2,.....);functionselect function_name((PARA1,PARA2,.....) from dual;

解决方案 »

  1.   

    这样可以:
    Declare
      v_return number ; --f返回值
    Begin
      v_return := function_name((PARA1,PARA2,.....) ;
    end;
    /
      

  2.   

    DECLARE
    out_fare  NUMBER;
    out_other_fare NUMBER;
    SELECT SP_HS_GOVTFARE ('335400',2004,out_fare,out_other_fare) from dual;ORA-06550: 第 4 行, 第 1 列: 
    PLS-00103: 出现符号 "SELECT"在需要下列之一时:
    beginfunctionpackage
       pragmaproceduresubtypetypeuse<an identifier>
       <a double-quoted delimited-identifier>cursorformcurrent
    符号 "begin" 被替换为 "SELECT" 后继续。
    ORA-06550: 第 7 行, 第 0 列: 
    PLS-00103: 出现符号 "end-of-file"在需要下列之一时:
    begindeclareend
       exceptionexitforgotoifloopmodnullpragmaraisereturnselect
       updatewhile<an identifier>
       <a double-quoted delimited-identifier><a bind variable><<
       closecurrentdelet
    谢谢楼上的,我执行如上语句,报错如上,是我哪里出错了吗?
      

  3.   

    SQL> Declare
      2    v_return number ; --f返回值
      3    out_fare  NUMBER;
      4  out_other_fare NUMBER;
      5  Begin
      6    v_return := SP_HS_GOVTFARE ('335400',2004,out_fare,out_other_fare);
      7  end;
      8  /
    PL/SQL procedure successfully completed再次谢谢楼上的两位,问题已经解决。
    马上结帐。