yuanqiao 发表于 2018-10-23 09:37:33

关于动态sql的使用方法

--创建存过程  
create or replace procedure get_rowcnt(l_tblnam varchar2,
  
                                       l_cnt    out number,
  
                                       l_status out varchar2) as
  
begin
  
select t.empno into l_cnt from emp t where rownum = 1;
  
l_cnt    := 3;
  
l_status := 'OK';end;--3.动态调用存过declare
  
l_routin varchar2(100) := 'get_rowcnt';
  
l_tblnam varchar2(20) := 'emp';
  
l_cnt    number;
  
l_status varchar2(200);
  
begin
  
execute immediate 'begin ' || l_routin || '(:2, :3, :4); end;'
  
    using in l_tblnam, out l_cnt, in out l_status;if l_status != 'OK' then
  
    dbms_output.put_line('error');
  
    end if;
  
    end;


页: [1]
查看完整版本: 关于动态sql的使用方法