Oracle 使用from子句中的子查询动态选择表名

Oracle 使用from子句中的子查询动态选择表名,oracle,dynamic,Oracle,Dynamic,我有一个映射表,其源和表名作为属性 我有以下疑问: select * from (select table_name from mapping_table where source='CL Table') 我想检索表名的数据,但此查询将只返回表名,而不返回数据 如何做到这一点?你必须让它充满活力。有很多种方法是可能的!但问题是使用其中的列名。。因为你可能不知道它是什么列。如果你事先知道列名,那就很简单了!你用什么客户机?例如:JAVAJDBC/PHPADO?也许这个问题会有所帮助,现在我必须

我有一个映射表,其源和表名作为属性

我有以下疑问:

select *
from 
(select table_name from mapping_table where source='CL Table')
我想检索表名的数据,但此查询将只返回表名,而不返回数据


如何做到这一点?

你必须让它充满活力。有很多种方法是可能的!但问题是使用其中的列名。。因为你可能不知道它是什么列。如果你事先知道列名,那就很简单了!你用什么客户机?例如:JAVAJDBC/PHPADO?也许这个问题会有所帮助,现在我必须在from子句中调用一个proc?我可以将整个查询结果集从proc返回到from子句吗?可能吗?
 DECLARE
    v_mystring VARCHAR(50);
    v_my_ref_cursor sys_refcursor;
    myrecord <some_table_or_type>;
  BEGIN

    select table_name into my_table_name
      from mapping_table 
    where source='CL Table';

    v_mystring := 'SELECT * from '||my_table_name;;

    OPEN v_my_ref_cursor FOR v_mystring;

    LOOP
      FETCH v_my_ref_cursor INTO myrecord;
      -- your processing
    END LOOP;
    CLOSE v_my_ref_cursor;
  END;