临时表基本概念
临时表是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类似,然而又有很大区别。它只能存储在临时表空间,而非用户的表空间。ORACLE临时表是会话或事务级别的,只对当前会话或事务可见。每个会话只能查看和修改自己的数据。
引入临时表的目的
当查询语句中使用“in(字符串)”子句时,如果字符串长度超过1000时则会报错,创建临时表,将查询条件或别的数据插入到临时表中,in(select * from tempTable(?)) 或 exist (select * from tempTable(?))方式得以解决
注意点
一定要设置:
conn.setAutoCommit(false);
因为ORACLE自动TRUNCATE 临时数据,插入数据如果自动提交数据,直接导致查询数据失败,得不到你想要的结果