23

这让我有点生气。我正在尝试将变量添加到过程中,但它不起作用 - 我刚刚收到以下错误消息:

[错误] 语法检查 (25: 7):错误第 25 行,第 7 列,第 25 行,第 25 列,第 12 行,找到“数字”,期望:;-or- .. := DEFAULT NOT NULL -or- % -or- ( .@

我在下面敲了一个非常基本的程序来隔离问题,现在我完全陷入困境,因为我看过的每个基本语法指南都说要做我所做的事情。为什么我不能如下所示声明变量?如果这对我的问题有任何线索,我通常会在 SQL Server 中编码。如果有人可以提供帮助,非常感谢!

CREATE OR REPLACE PROCEDURE MRCS.pro_xxx_test1 (cats out sys_refcursor)
IS

declare

spoon number;

balls varchar2(3);

BEGIN

 open cats for select * from dual;

   end;

/
4

3 回答 3

60

删除“声明”。在函数/过程声明中不需要

于 2012-10-08T17:12:01.573 回答
13
CREATE OR REPLACE PROCEDURE MRCS.pro_xxx_test1 (cats out sys_refcursor)
IS
spoon number;
balls varchar2(3);
BEGIN
 open cats for select * from dual;
end;
/
于 2012-10-08T17:13:37.997 回答
1

Declare local variable between IS and BEGIN block for procedure and function

CREATE OR REPLACE PROCEDURE MRCS.pro_xxx_test1 (cats out sys_refcursor)
IS
    spoon number;
    balls varchar2(3);
BEGIN

    open cats for select * from dual;

end;

/
于 2019-06-30T15:07:50.967 回答