究竟能不能在临时表上创建并使用主键和索引呢?请说明理由,多谢!

解决方案 »

  1.   

    可以阿!临时表一般都是其他表的组合。建立索引检索的快点啊!主键可有可无阿!一般它都是引用其他表的field。
      

  2.   

    SQL> create global temporary table hmj_tmp ( nid number(10) not null,nname varchar2(20));Table createdSQL> alter table hmj_tmp add (primary key (nid));Table altered
      

  3.   

    临时表的创建可以用来保留仅在事务或会话周期内存在的会话私有数据。
    CREATE GLOBAL TEMPORARY TABLE命令可以创建特定事务或会话的临时表,对于特定事务或会话的临时表,数据仅存在事务或会话周期内,且为会话私有数据,每个会话仅能看到或修改自己拥有的数据。临时表数据上不能获得DML锁。
    用来控制临时表行周期的子句为:
    ON COMMIT DELETE ROWS:用来指定行仅能在事务内可见
    ON COMMIT PRESERVE ROWS:用来指定行在整个会话可见
    你可以在临时表上建立索引、视图和触发器,并且可以用export或import来导出或导入临时表的定义,但是数据不可导入导出,尽管你使用ROWS选项。临时表的定义对于所有的session都是可见的。