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  /

求解😭

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