首页 文章

如何从存储过程调用存储函数并存储返回值

提问于
浏览
1

当我在我的存储过程中执行此操作时:

create procedure Proc1(
       startdate IN TIMESTAMP,
       ENDDATE IN TIMESTAMP
   )
   declare test_result number --line 55
    test_result:=Stored_function1(startdate,enddate,11,13); --line 56
END;

SQL Developer抛出2个错误:

PLS-00103:遇到以下其中一项时遇到符号“TEST_RESULT”:: = . (@%;非空范围默认字符符号“ . ”代替“TEST_RESULT”继续.PLS-00103:遇到以下其中一项时遇到符号“END”:begin function pragma procedure子类型当前游标删除存在先

Stored_function1 是用户定义的,有4个参数,不属于任何包 . 我哪里做错了,我该如何纠正?谢谢 .

1 回答

  • 3

    没有看到更多它很难说,但似乎你的程序中有一些语法错误 . 不需要 DECLARE ,第55行末尾应该有一个分号,至少在第56行之前应该有 BEGIN .

    这是一个基本的骨架:

    Create or replace procedure my_procedure as
      test_result number;
    BEGIN
      test_result := Stored_function1(startdate, enddate, 11, 13); 
    END;
    

相关问题