将Connection设置为非自动提交setAutoCommit(false)
1.CREATE GLOBAL TEMPORARY TABLE TABLENAME (
COL1 VARCHAR2(10),COL2 NUMBER
) ON COMMIT PRESERVE(DELETE) ROWS ;
一般tablename需要随机生成一个名字 例如 “aaa”+System.currentTimeMillis()+随机生成一个数字和字母的组合
这种临时表不占用表空间,而且不同的SESSION之间互相看不到对方的数据,在会话结束后(或者shutdown immediate后又重新startup后)表中的数据自动清空,
但表不自动删除,如果选了DELETE ROWS,则在提交的时候即清空数据,PRESERVE则一直到会话结束,若不指定on commit选项默认为是on commit delete rows;
删除临时表与删除正常表一样,drop table cc;
2。最后可以先"TRUNCATE TABLE " + tmpTable清空表数据
"DROP TABLE " + tmpTable 然后删除表
commit()
提交