ITPub博客

首页 > 数据库 > Oracle > 动态sql

动态sql

原创 Oracle 作者:simkyo 时间:2013-11-28 11:07:13 0 删除 编辑
create or replace procedure p_dny_sql(i_job varchar2,o_res OUT varchar2)
as
  v_str    varchar2(2000);
  v_name   varchar2(32);
  v_job   varchar2(32);
  ERRCODE number;
  ERRMSG  varchar2(200);
begin
  v_str := 'select tname from t_cur_test where tid >15 ';
  
  v_job := 'a';
  
  if (i_job is not null or i_job != '') then    
    v_str := v_str ||' and tjob= '''||v_job||'''';
  end if;
  
  /*if i_job is not null then
    v_str := v_str ||' and tjob= '''||to_char(i_job)||'''';
  end if;*/
  
  dbms_output.put_line(v_str);
  execute immediate v_str into v_name;
  commit;
  
  
  o_res := v_name;
  
   /*if(company_id != '') then
         sqlstr := sqlstr + ' and t.company_id = '||company_id||'';
       end if;*/


exception
  WHEN OTHERS THEN
    ERRCODE := SQLCODE;
    ERRMSG  := SUBSTR(SQLERRM, 1, 200);
    dbms_output.put_line(ERRCODE||ERRMSG);
end;


   

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12961536/viewspace-1061413/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 大字段测试
下一篇: guocheng1
请登录后发表评论 登录
全部评论

注册时间:2013-06-20

  • 博文量
    193
  • 访问量
    137632