日期:2014-05-17  浏览次数:21058 次

请教---存储过程中被查询的表名如何引用参数?
如题,参考如下——
说明:我需要使用rec_ind 代替rdw_zjt_boss_8 中的"8" ,我试过使用常规引用参数的方式,但不成功。是否可以实现,如果可以,请教应如何实现?
SQL code

create or replace procedure my_test_procedure
is
rec_ind number;
v_run_log varchar2(100);
begin
rec_ind := 8;

select vc_mobileno into v_run_log from rdw_zjt_boss_8 where rownum < 2;
dbms_output.put_line(v_run_log);
end;



------解决方案--------------------
SQL code

create or replace procedure my_test_procedure
is
rec_ind number;
v_run_log varchar2(100);
begin
rec_ind := 8;
   --select vc_mobileno into v_run_log from rdw_zjt_boss_8 where rownum < 2;
   execute immediate 'select vc_mobileno from rdw_zjt_boss_'||rec_ind||' where rownum < 2'  into v_run_log;
   dbms_output.put_line(v_run_log);
end;