Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / PL SQL Statements
 

Select into rowtype then use it in execute immediate

SQL> SQL> create table job_parameters   2  ( jobid number primary key,   3    iterations number,   4    table_idx number ); Table created. SQL> SQL> create or replace procedure dont_bind( p_job in number )   2  as   3      l_rec job_parameters%rowtype;   4  begin   5      select * into l_rec from job_parameters where jobid = p_job;   6      for i in 1 .. l_rec.iterations   7      loop   8          execute immediate 'insert into t' || l_rec.table_idx || ' values ( ' ||  i || ' )';   9          commit;  10      end loop;  11      delete from job_parameters where jobid = p_job;  12  end;  13  / Procedure created. SQL> SQL> drop table job_parameters; Table dropped. SQL>