Oracle PL/SQL编程学习笔记:Merge方法的使用
Oracle11g的Merge很强大!
1 create or replace procedure BRANCE_REPORT_MERGE is 2 3 begin 4 Merge into BRANCHREPORT desttable 5 using TEMP_BRANCHREPORT tmptable 6 on (desttable.SENDER_ID=tmptable.SENDER_ID and desttable.BRANCH_ID=tmptable.BRANCH_ID and desttable.REPORT_TIME=tmptable.REPORT_TIME) 7 when not Matched then 8 insert (desttable.SENDER_ID,desttable.BRANCH_ID,desttable.REPORT_TIME) 9 values (tmptable.SENDER_ID,tmptable.BRANCH_ID,tmptable.REPORT_TIME); 10 11 Execute IMMEDIATE 'TRUNCATE TABLE TEMP_BRANCHREPORT '; 12 end BRANCE_REPORT_MERGE;
由于每次获取的数据包中存在冗余、重复的数据,所以把数据存储在临时表中,到达一定数量则往主表中更新。记录存在不更新,不存在则更新。
作者:太一吾鱼水
文章未经说明均属原创,学习笔记可能有大段的引用,一般会注明参考文献。
欢迎大家留言交流,转载请注明出处。