如:
create table Department (Dep_ID varchar2(20) not null,
Dep_name varchar2(30));

解决方案 »

  1.   

    我刚才搜索一些帖子:CREATE GLOBAL TEMPORARY TABLE TABLENAME (
       COL1  VARCHAR2(10),
       COL2  NUMBER
    ) ON COMMIT PRESERVE(DELETE) ROWS ;
    这种临时表不占用表空间,而且不同的SESSION之间互相看不到对方的数据
    在会话结束后表中的数据自动清空,如果选了DELETE ROWS,则在提交的时候即清空数据,PRESERVE则一直到会话结束会话指的是什么,是指存储过程本身,就是存储过程执行完毕后,数据自动清空??????
      

  2.   

    大哥,在我的印象中oracle(最少8i)没有临时表,临时表是出现在sql server中,临时表是带#的,存储过程一完就自动消失,在oracle中不记得有临时表。sysbase中好像也有。好久没搞了,说错我就认扁。其实像在存储过程中有人这么做,开始建立一张表,用完了删除,或是就让一张表存在库中做临时表用。
      

  3.   

    叫我大哥我听着一点也不舒服!
    大哥有两层含义,1,真正的老大,大腕级的,2,菜鸟,轻量级的,有点扁你的意思,
    不知道我是属于哪个。言归正传,
    CREATE GLOBAL TEMPORARY TABLE TABLENAME (
       COL1  VARCHAR2(10),
       COL2  NUMBER
    ) ON COMMIT PRESERVE(DELETE) ROWS ;那这些是什么鸟东东啊?
      

  4.   

    在oracle815上出错
      1  CREATE GLOBAL TEMPORARY TABLE cyaa (
      2     COL1  VARCHAR2(10),
      3     COL2  NUMBER
      4* ) ON COMMIT PRESERVE(DELETE) ROWS
    SQL> /
    ) ON COMMIT PRESERVE(DELETE) ROWS
                        *
    ERROR 位于第 4 行:
    ORA-00905: missing keyword
      

  5.   

    语法错误:
    create global temporary table cyaa ( col1 number(1), col2 number(2)) on commit preserve rows.
    或者create global temporary table cyaa ( col1 number(1), col2 number(2)) on commit delete rows.delete rows表示此临时表是事务级的,preserve rows表示此临时表是会话级的。
    所谓事务级,即事务完毕后,此临时表即被清空,即commit或rollback之后。而会话级的,表示在整个会话期间都有效,会话断开之后,表中数据被清空,如果,在存储过程中操作了会话级的临时表,那么,当运行此过程的会话结束后,临时表中的数据自动清空。
      

  6.   

    我要告诉ZONGSH(ZONGSH)Oracle中有临时表!不要在这里不懂装懂!
    就像楼上几层的高手!create temporary table(NolumnName DateType,……)就可以了!
      

  7.   

    Oracle8i以后才有临时表的,即使是8i也与数据库创建时的参数有关。我用的是8.17的版本,若创建是不选择兼容8.10以上,也不支持Create Global Temporary Table ……