oracle 在pl/sql过程中声明变量时出现语法错误

9rygscc1  于 2023-10-16  发布在  Oracle
关注(0)|答案(4)|浏览(128)

这让我有点抓狂。我试图在一个过程中添加一个变量,但它不起作用-我只是得到了这个错误消息:
[错误]错误检查(25:7):错误行25,col 7,ending_line 25,ending_col 12,Found 'number',Expecting:; -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;

/
p4rjhz4m

p4rjhz4m1#

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

zaqlnxep

zaqlnxep2#

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;
/
vmjh9lq9

vmjh9lq93#

Declare过程和函数的ISBEGIN块之间的局部变量

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;

/
6bc51xsx

6bc51xsx4#

在过程中创建变量时不需要“Declare”关键字。在过程和函数的IS和开始块之间decrypt局部变量
创建或替换程序MRCS.pro_xxx_test1(cats out sys_refcursor)是勺子编号; balls varchar2(3);开始

open cats for select * from dual;

结束;

相关问题