pl/sql 中 如何使用临时表?

解决方案 »

  1.   

    可以创建以下两种临时表:
    1。会话特有的临时表
       CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
       ON COMMIT PRESERVE ROWS;2。事务特有的临时表
       CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
       ON COMMIT DELETE ROWS;
      
      在Oracle中,全局临时表并不会删除,实际上你只需要建立一次,以后直接应用就行了,这与MS和Sybase不一样。实际上在断开数据库连接时,临时表中数据自动清空,不同的Session之间是隔离的,不许要当心相互影响,不过如果起用了连接共享的话,你要用On Commit delete rows使数据仅在事物内部有效。