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

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日

悬赏问题

  • ¥18 微机原理汇编的综合实验
  • ¥15 LD衰减图用R语言对其可视化
  • ¥15 Mermaid语法生成的svg在Axure无法编辑
  • ¥15 Windchill二次开发
  • ¥15 怎么把tkinter和其他代码结合起来使功能可以完善
  • ¥15 爬取豆瓣电影相关处理
  • ¥15 手机淘宝抓清除消息接口
  • ¥15 C#无selenium
  • ¥15 用机器学习方法帮助保险公司预测哪些是欺诈行为
  • ¥15 数据爬取,python