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

Stored procedures 如何从存储过程调用存储函数并存储返回值,stored-procedures,plsql,oracle-sqldeveloper,stored-functions,pls-00103,Stored Procedures,Plsql,Oracle Sqldeveloper,Stored Functions,Pls 00103,在存储过程中执行此操作时: 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-0010

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

   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:在预期以下情况之一时遇到符号“测试结果”:=。(@%;非空范围默认字符符号“.”已替换为“测试结果”以继续

PLS-00103:在预期以下情况之一时遇到符号“END”:开始函数pragma过程子类型当前光标删除之前存在


存储的\u函数1
是用户定义的,包含4个参数,不属于任何软件包。我哪里做错了,该如何更正?谢谢。

如果没有看到更多,很难判断,但似乎您有一些语法错误在您的过程中。不需要
DECLARE
,在第55行的末尾应该有一个分号,在第56行之前至少应该有一个
BEGIN

以下是一个基本框架:

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

OP中的注释是打字错误,有
begin
end;
所以
test\u result
就像你答案中的局部变量一样?@techspider我以为是SQL Server