各位高手:怎样用一语句动态求user_tab_columns指定Table_name字段值的column_name对应的数据的内容值.
如:
A表内容如下:
字段:X Y Z
值:   1 2 3
      a b c
      d 2 1
分步求:1. 先找出user_tab_columns中找出Table_name = 'A'的字段值(X,Y,Z)
        2. 然后在A表中取出其内容值如上所示
怎样用一个SQL语句求上面的内容值

解决方案 »

  1.   

    sql_text:='select ';
    flag:=0;
    for v in (select column_name from user_tab_columns where table_name='APP_CONFIG') loop
      if (flag=0) then 
      sql_text:=sql_text||v.column_name;
      flag:=flag+1;
      else
      sql_text:=sql_text||','||v.column_name;
      flag:=flag+1;
      end if;
      sql_text:=sql_text||'from A';
    end loop;
      exec IMMEDIATE sql_text;
      

  2.   

    错了,
    sql_text:='select ';
    flag:=0;
    for v in (select column_name from user_tab_columns where table_name='A') loop
      if (flag=0) then 
      sql_text:=sql_text||v.column_name;
      flag:=flag+1;
      else
      sql_text:=sql_text||','||v.column_name;
      flag:=flag+1;
      end if;
      
    end loop;
      sql_text:=sql_text||'from A';
      exec IMMEDIATE sql_text;