Oracle临时表(Temporary Table)

GLOBAL TEMPORARY代表全局临时表
临时表的元数据存储在数据字典里面

只当第一条DML命令发生的时候才为这张表的段分配空间

临时表数据的可见范围应该是会话级别或是事务级别的

会话或者事务级别又建表时的ON COMMIT关键字决定,ON COMMIT DELETE ROWS代表事务级别,ON COMMIT PERSERVE ROWS代表会话级别

DDL命令只在临时表与会话断开绑定之后才可以运行

对于会话级别,当TRUNCATE命令发生时会话与临时表间的绑定也就断开了;而对于事务级别,在ROLLBACK或者COMMIT

Oracle临时表的一些限制:
■ Temporary tables cannot be partitioned, clustered, or index organized.
■ You cannot specify any foreign key constraints on temporary tables.
■ Temporary tables cannot contain columns of nested table.
■ You cannot specify the following clauses of the LOB_storage_clause:
TABLESPACE, storage_clause, or logging_clause.
■ Parallel UPDATE, DELETE and MERGE are not supported for temporary tables.
■ You cannot specify the nested_table_col_properties or parallel_
clause.
■ The only part of the segment_attributes_clause you can specify for a
temporary table is TABLESPACE.
■ Distributed transactions are not supported for temporary tables.

posted @ 2015-06-27 00:08  Jerry_Chen  阅读(1393)  评论(0编辑  收藏  举报