职业菜鸟☆ 2022-05-23 22:34 采纳率: 75%
浏览 43
已结题

oracle存储过程有编译错误

报错显示:显示PLS-00103: 出现符号 "("在需要下列之一时: := . ) , @ % default character 符号 ":=" 被替换为 "(" 后继续。

用oracle创建存储过程的时候,我是按照别的人例子往下扒的,但到我这就出现了这个错误,我搜索了说是varchar2不用带括号和值,但是我的不带也还是报错呀
以下是完整的创建存储过程的代码:

create or replace procedure pro_customer_id
  2  (pid in number,pname out varchar,psex out varchar,ptel out varchar)
  3  is
  4  cursor c_cur(id number(5)) is
  5  select C_name,C_sex,C_tel from customers where C_id=id;
  6  begin
  7  open c_cur(pid);
  8  loop
  9  fetch c_cur into pname,psex,ptel;
 10  exit when c_cur%notfound;
 11  dbms_output.put_line('客户名'||pname||'客户性别'||psex||'电话号'||ptel);
 12  end loop;
 13  close c_cur;
 14  end;
 15  /

求解😭

  • 写回答

1条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2022-05-23 23:47
    关注

    把 number(5) 改成 number
    oracle里的参数类型都是不要标长度的,无论是过程参数还是游标参数

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

报告相同问题?

问题事件

  • 系统已结题 6月1日
  • 已采纳回答 5月24日
  • 创建了问题 5月23日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵