一、Oracle临时表知识
在Oracle中,临时表分为SESSION、TRANSACTION两种,SESSION级的临时表数据在整个SESSION都存在,直到结束此次SESSION;而 TRANSACTION级的临时表数据在TRANACTION结束后消失,即COMMIT/ROLLBACK或结束SESSION都会清除 TRANACTION临时表数据。
1) 会话级临时表 示例
1创建
- create global temporary table temp_tbl(col_a varchar2(30))
- on commit preserve rows
2插入数据
- insert into temp_tbl values('test session table')
3提交
- commit;
4查询
- select *from temp_tbl
可以看到数据'test session table'记录还在。
结束SESSION,重新登录,再查询数据select *from temp_tbl,这时候记录已不存在,因为系统在结束SESSION时自动清除记录 。
2) 事务级临时表 示例
1创建
- create global temporary table temp_tbl(col_a varchar2(30))
- on commit delete rows
2插入数据
- insert into temp_tbl values('test transaction table')
3提交
- commit ;
4查询
- select *from temp_tbl