求PL-SQL语法。求一个在oracle 8.0下创建temporary表的SQL语法;
我试过如下语法,在oracle 9上可以过,但用户的是8,过不了。create global temporary table (Fname varchar(20) not null, Fage number);在oracle 8下面,提示:ORA-00406错误。
请各位大侠有没有解决办法?

解决方案 »

  1.   

    oracle只有到8.1.6才支持临时表,不知道你的是什么版本,如果是8.0.5是肯定不行的。
      

  2.   

    解决办法以下这个语法最初我就是这样写的,可以在9.0下执行过,但8.0下不过。
    create global temporary table mytable(Fname varchar(20) not null, Fage number)
    on commit delete rows 
    找到了一个解决办法,但不满意:1、到oracle\admin\[SIDfolder,eg ORA8]\pfile
    2、打开init.ora文件,将里面的参数compatible = 8.0.5改成compatible = 8.1.0
    3、重启ORA
    以上语法可以通过
    但要我去改客户的数据库设置,有点太ba道了,有没有其它解决办法?最好是能换语法,实现同样的需求。
      

  3.   

    不用吧,服务器上改了就行了,而且ORACLE8I默认的COMPATIBLE就是8.1.0啊。