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

时间:2012-10-08 17:10:45

标签: oracle plsql

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

  

[错误]语法检查(25:7):ERROR第25行,第7列,结束第25行,   ending_col 12,Found' number',期待:; - 或 - ..:= DEFAULT   NOT NULL - 或 - % - 或 - (。@

我在下面敲了一个非常基本的程序来解决这个问题,现在我完全陷入了困境,因为我所看到的每个基本语法指南都说我做了我已经完成的工作。为什么我不能声明如下所示的变量?我通常在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;

/

3 个答案:

答案 0 :(得分:54)

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

答案 1 :(得分:10)

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

答案 2 :(得分:0)

为过程和功能声明IS和BEGIN块之间的局部变量。

创建或替换过程MRCS.pro_xxx_test1(显示sys_refcursor) 是 勺号 球varchar2(3);

开始

打开猫以从双选*中选择

end;

/