我有一个视图t,其中有一个用于表名的列,另一个具有where子句条件的列。
id| name|table_in| where_clause 1 | Sam | t1 | age = 22 2 | John| t2 | age = 23 and sex = 'male'
等等…
现在,我将记录放在游标中,并且我想运行每个查询。
create or replace procedure create_cursor is CURSOR v_records is select * from t ; begin FOR temp IN v_records LOOP INSERT INTO myTable (id, name) select temp.id, temp.name from temp.table where temp.where_clause; END LOOP; end; /
myTable是另一个表,我要将记录用于下一个目的。
@Akshay,
请找到下面的代码以供参考。
Create or replace procedure create_cursor is l_statement varchar2(32767); cursor v_records is select * from t; begin for temp in v_records loop l_statement := 'INSERT INTO myTable (id, name) select '||temp.id||',' ||temp.name|| ' from ' || temp.table1 || ' where ' || temp.where_clause; execute immediate l_statement; end loop; end; /