1. 程式人生 > >Java 開發建立oracle臨時表語句

Java 開發建立oracle臨時表語句

將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()

提交