leo_qiu_s 2019-08-01 19:14 采纳率: 0%
浏览 674
已采纳

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条回答 默认 最新

  • 逆水行舟如何 2019-08-01 20:30
    关注

    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;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统