Navicat连接Oracle,存储过程为什么提示错误?

代码

create or replace procedure EXCHANGE(a inout number,b inout number) 
as 
temp number(10); 
begin 
temp:=a;
a:=b; 
b:=temp; 
end;

一直提示如下错误:

PLS-00103: Encountered the symbol "NUMBER" when expecting one of the following:
:=.),@%default character
The symbol ":=" was substituted for "NUMBER" to continue.

图片说明

1个回答

oracle的存储过程和mysql的写法不一样的,下面这么写是mysql的写法
create procedure tests(inout a int,inout b int)
begin
declare temp int;
set temp = a;
set a = b;
set b= temp;
end ;

补充一下,mysql没有number类型

oracle应该这么写的
create or replace procedure test_aa(a in out number, b in out number)
is

temp number(10);

begin
temp := a;
a := b;
b := temp

end;

qiudechao1
leo_qiu_s 回复不是猿是员: 原来Oracle的inout要分开写,感谢大佬!
大约一年之前 回复
weixin_43823423
逆水行舟如何 回复leo_qiu_s: 看错了,最新回答已经更新了,建议连接oracle用plsql developer
大约一年之前 回复
qiudechao1
leo_qiu_s 不行啊,还是报PLS-00103的错误。
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问