1)特点
- 在Oracle中,临时表是“静态”的,它与普通的数据表一言,只需要一次创建,其结构从创建到删除的整个期间都是有效的。
- 临时表只有在用户向表中添加数据时,Oracle才会为其分配存储空间。
- 为临时表分配的空间来自临时表空间,这避免了与永久对象的数据争用存储空间。
- 在临时表中存储数据是以事务或回话为基础的。当用户当前的事务结束或会话终止时,临时表占用的存储空间将被释放,存储的数据也随着丢失。
- 与对表一样,用户可以在临时表上建立索引、视图、触发器等(这些索引、视图等也是临时的,只对当前会话或事务有效)。
- 事务级别临时表
create global temporary table table_name(column_name data_type,[column_name data_type,...]) on commit delete rows;
创建临时表时,如果不指定on commit子句,则创建的临时表默认为事务级别的临时表;
向事务级别的临时表中添加数据后,断开重连接数据库,表中的数据也会被清除;
- 会话级别临时表
create golbal temporary table table_name(column_name data_type,[column_name data_type,...]) on commit preserve rows;
会话级别的临时表,在执行事务提交后,表中的数据不会被清除,只有当前会话结束后才会被清除;
向会话级别的临时表中添加数据后,断开重连接数据库,表中的数据也会被清除;
事务级别的临时表,在执行事务提交或者结束当前会话时,表中的数据都会被清除;
本文介绍了Oracle数据库中的临时表,包括其特点、分类以及如何创建事务级别和会话级别的临时表。临时表仅在用户向表中添加数据时分配存储空间,并且存储在临时表空间中。文章还详细解释了两种不同类型的临时表:事务级别的临时表和会话级别的临时表。
240

被折叠的 条评论
为什么被折叠?



