oracle中的临时表
- 临时表
特点:当失误或者回话结束的时候,表中的数据会自动删除
两种创建方式
1. create global temporary table <表名字>
(默认为事务型commit之后就没数据了)
2. 自动创建:例如排序order by
测试
- SQL> create global temporary table mytemptable
(mid number,name varchar2(20));
SQL> insert into mytemptable values (10,‘小明’);
SQL> select * from mytemptable; – 至此是可以查到结果的
SQL>COMMIT;
SQL> select * from mytemptable;
在commit之后查询不到结果了。也就是说commit清空了插入结果。
进一步了解
在oracle中,临时表分为一下两种
- 会话级别(session) 会话级的临时表在整个会话期间都存在,直到会话结束;
create global temporary table table_name(id number) on commit PRESERVE rows;
- 事务级别(transaction)两种。 事务级别的临时表数据在transaction结束后消失,即commit/rollback或结束会话时,会清除临时表数据。如上测试代码中默认就是事务级别的
create global temporary table table_name(id number) on commit delete rows;