在MSSQL里边,可以声明"表"变量,然后使用。在Oracle里要想实现相同功能怎么办呀?
就是说我想把一些数据在函数或存储过程里临时加工一下,放在一个临时性的表里,整理完后用select * from “暂存表”  来显示数据。
oracle里临时性的表还不能放在from 后面,郁闷的很啊
请高手出山指教一二呀

解决方案 »

  1.   

    动态执行SQL就可以了例如 v_str varchar2(50) := “select * from table1 where id=23”     execute v_str;
      

  2.   

    还可以 open objRs for
            v_str;
      

  3.   

    declare
       v_table_name varchar2(30)   :=NULL;
       v_sql        varchar2(4000) := NULL;
    begin
       v_sql := 'select * from '||v_table_name;
       execute immediate v_sql;
    end;
    /