-- Create table
create global temporary table V_MID_DEPARTMENT
(
DEPT_ID VARCHAR2(36) not null,
COMPANY_CODE VARCHAR2(36) not null,
C_DEPT_NAME VARCHAR2(200),
E_DEPT_NAME VARCHAR2(200),
C_DEPT_ABBR VARCHAR2(200),
E_DEPT_ABBR VARCHAR2(200),
STATUS VARCHAR2(1),
MAIN_LEADER_NO VARCHAR2(36)
)
on commit delete rows;
===========================================
V_MID_USER
-- Create table
create global temporary table V_MID_USER
(
WORK_ID VARCHAR2(36) not null,
LOGIN_ID VARCHAR2(100),
NATIVE_NAME VARCHAR2(200),
DEPT_ID VARCHAR2(36),
COMPANY_CODE VARCHAR2(36),
OFFICE_MAIL VARCHAR2(200),
OFFICE_PHONE VARCHAR2(50),
JOB_CNAME VARCHAR2(50),
STATUS VARCHAR2(1),
MGR1 VARCHAR2(36),
MGR2 VARCHAR2(36)
)
on commit delete rows;
對于這樣的兩張Oracle零時表在使用JDBC插入數據時,必須設置插入數據的Connection連接自動提交為false
也就是:
Connection conn = DriverManager.getConnection(url,username,password);
conn.setAutoCommit(false);
并且不能最后再設置conn.commit();
想要取得當前存入數據庫的數據不能關閉當前連接,必須在程序中使用當前的Connection創建Statement,執行查詢的sql語句得到結果集
這樣才可以從結果集中取得數據,之后才可以關閉數據庫連接,釋放相應的數據庫資源。
而且這樣的零時數據在沒有關閉Connection之前只存在與當前程序中的Connection對應的Session中,
也就是執行了插入,單獨打開一個oracle會話(Session)窗口去查看數據庫中的表是看不到數據的。