create or replace procedure test_pro
(userid in number,username out varchar) as
begin
select name into username from testpro where id=userid;
dbms_output.put_line(username);
end;
参数不能定义大小,并且后跟as
(userid in number,username out varchar) as
begin
select name into username from testpro where id=userid;
dbms_output.put_line(username);
end;
参数不能定义大小,并且后跟as
(userid in number,username out varchar2)
is
begin
select name into username from testpro where id=userid;
dbms_output.put_line(username);
end;above is right syntax , man
(userid in number,username out varchar2)
is
begin
select name into username from testpro where id=userid;
dbms_output.put_line(username);
end;
------------------
执行方法
set serveroutput on
var myname varchar2
exec test_pro(2,:myname);
------
打印结果
print myname
is 正确, as 错误;
-------------------
这样调用还是出错:
set serveroutput on
var myname varchar2
exec test_pro(2,:myname)
PL/SQL:数值或值错误:字符缓冲太小
var myname varchar2(333333333);