Oracle 大佬们求解, ORA-06550, PLS-00103

create or replace procedure StockPoolAdjust( gpCode in varchar2,
msg out varchar2,
flag out varchar2)
as
inum integer;

begin
--是否在公司库
select count(1) into inum from uf_stock_pool where stockcode = gpCode;

if inum > 0 then
msg := '不能申请';
flag := '-1';
return;
end if;

Exception
when others then
  flag := '-1';

end;

测试:
begin
-- Call the procedure
stockpooladjust(gpcode => :'119125',
msg => :msg,
flag => :flag);

end;

错误信息:
图片说明

解决了吗?你赋值时的msg和flag是从哪里给的 varchar2 也要`表示字符 类型问题

参数有问题。请指定是IN还是OUT

解决了吗?你赋值时的msg和flag是从哪里给的 varchar2 也要`表示字符 类型问题

参数有问题。请指定是IN还是OUT

异常处理里是不是也要对msg进行返回