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

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 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 定制ai直播实时换脸软件
  • ¥100 栈回溯相关,模块加载后KiExceptionDispatch无法正常回溯了
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件
  • ¥15 K8S部署二进制集群过程中calico一直报错
  • ¥15 java python或者任何一种编程语言复刻一个网页
  • ¥20 如何通过代码传输视频到亚马逊平台