对呀,就是用动态SQL了,可是具体语法呢?
我在MSSQL上用过临时表,但在oracle上好象语法有点不一样,不知道怎么弄好了

解决方案 »

  1.   

    oracle不推荐用临时表,可以创建全局临时表,create global temp table........
      

  2.   

    用create global temp table试了~
    提示是无效的create命令~
      

  3.   

    是TEMPORARY
    CREATE GLOBAL TEMPORARY TABLE flight_schedule (
       startdate DATE, 
       enddate DATE, 
       cost NUMBER)
      

  4.   

    create proecdure name_pro
    as
    str varchar2(100);
    begin
    str:='CREATE GLOBAL TEMPORARY TABLE TABLENAME ON COMMIT PRESERVE ROWS select * from others_table';
    execute immediate str;
    end;
    /
      

  5.   

    sorry,少了as
    str:='CREATE GLOBAL TEMPORARY TABLE TABLENAME ON COMMIT PRESERVE ROWS as select * from others_table';
      

  6.   

    表在程序执行后commit,好像一直都存在。