从from子句的列中提取表的名称 [英] fetch table name from a column for from clause
本文介绍了从from子句的列中提取表的名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个视图,我有一个列的表名和另一个列有where子句的条件。
I have a view t with me which has a column for table name and another column which has where clause condition.
id| name|table_in| where_clause
1 | Sam | t1 | age = 22
2 | John| t2 | age = 23 and sex = 'male'
等等...
现在,我把记录放在游标中,我想运行每个查询。
Now, I have put the records in a cursor and I want to run each query.
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是另一个表,其中我想将记录用于下一个目的。
myTable is another table in which I want to put the records for next purpose.
推荐答案
@Akshay,
请在下面找到您的参考。
Please find the code below for your reference.
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;
/
这篇关于从from子句的列中提取表的名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文