Oracle带有输出参数的存储过程:
第一种:只带有输入参数
create or replace procedure PT(sname out varchar2) is
begin
select t.name into sname from test t where t.id=3;
dbms_output.put_line(sname);
end PT;
第二种:利用动态调用的方式(execute immediate),同时带有输入和输出参数
create or replace procedure PT3(id int,sname out varchar2) is
v_sql varchar2(2000);
begin
v_sql:='select name from test where id='||id;
execute immediate v_sql into sname;
commit;
dbms_output.put_line(sname);
end PT3;
调用
SQL> declare
2 sname varchar2(50);
3 begin
4 PT(sname);
5 end;
6 /