Java 開發建立oracle臨時表語句
阿新 • • 發佈:2019-02-02
將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()
提交