Oracle带输出参数的存储过程和调用

  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  /
 

你可能感兴趣的:(Oracle带输出参数的存储过程和调用)