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”:开始函数杂注过程子类型类型当前光标删除之前存在

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

4

1 回答 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;
于 2016-01-08T21:17:46.390 回答