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 /