大批量數據插入思路
1 建立臨時表 table_temp:
ORACLE臨時表有兩種類型:會話級的臨時表和事務級的臨時表(依據自身需求建表)
關鍵字:
會話級別:
CREATE GLOBAL TEMPORARY TABLE TMP_TEST ( ID NUMBER , NAME VARCHAR2(32) ) ON COMMIT PRESERVE ROWS;
事務級別:
CREATE GLOBAL TEMPORARY TABLE TMP_TEST ( ID NUMBER , NAME VARCHAR2(32) ) ON COMMIT DELETE ROWS;
2 數據寫入臨時表:insert into 臨時表 table_temp
3 merge目標表 table_obj
MERGE INTO table_obj T1 USING
(select 。table_temp) T2 WHEN MATCHED
THEN UPDATE
SET T1.a = T2.a
WHEN NOT MATCHED THEN
INSERT(...)
VALUES (...)