2017-01-30 153 views
0

我有code_table包含以下欄目:select語句

- ID 
- FIELD_NAME 
- TABLE_NAME 
- WHERE_CONDITION 

現在,我需要寫回表包含2列的SELECT語句,第一列是code_table.ID,和其他列是以下select語句的結果

select code_table.FIELD_NAME 
from code_table.TABLE_NAME 
where code_table.WHERE_CONDITION = 1; 

我該如何解決?

+0

的可能的複製[PL/SQL - 使用存儲過程裏面動態查詢(http://stackoverflow.com/questions/5007725/pl-sql-using-a-dynamic-query -inside-a-stored-procedure) –

+0

完全不同,這裏我需要使用select語句中的表格內容 – user7157121

+0

您需要一個動態查詢。使用查詢來使字段內容和構建查詢字符串。然後執行查詢字符串。 –

回答

0

試試這個使用匿名塊。希望這有助於

DECLARE 
    cursor cur_code_tab is 
    select id,field_name,table_name,where_condition from code_table; 
    sql_query varchar2(500); 
BEGIN 
    for i in cur_code_tab loop 
     sql_query:='select '''||i.id||''','||i.field_name||' from '||i.table_name||' where '||i.where_condition=1; 
     execute immediate(sql_query); 
    end loop; 
END;