• oracle--merge into :匹配则更新不匹配则插入


    merge into :匹配则更新不匹配则插入

    1. --语法
    2. merge into 目标表
    3. using (增量)
    4. on (匹配字段)
    5. where matched then update set --update和sel直接不需要加表名
    6. when not matched then insert values--insert和values之间不需要加into 表名

    例子

    1. create or replace procedure sp_ods_partition_emp_bak(
    2. p_start_time varchar2,
    3. p_end_time varchar2
    4. )
    5. IS
    6. v_start_time varchar2(30) := p_start_time;
    7. v_end_time varchar2(30) := p_end_time;
    8. BEGIN
    9. merge into ods_merge_emp_target t
    10. using (select * from ods_merge_emp)s
    11. on (s.empno=t.empno)
    12. where matched then update set
    13. --t.empno=s.empno,(匹配字段不能更新)
    14. t.ename=s.ename,
    15. t.job=s.job,
    16. t.mgr=s.mgr,
    17. t.sal=s.sal,
    18. t.comm=s.comm,
    19. t.deptno=s.deptno
    20. when not matched then insert values(
    21. s.empno,
    22. s.ename,
    23. s.job,
    24. s.mgr,
    25. s.sal,
    26. s.comm,
    27. s.deptno);
    28. COMMIT;--增删改必须提交代码
    29. end;
    1. create or replace procedure sp_ods_partition_emp_bak(
    2. p_start_time varchar2,
    3. p_end_time varchar2
    4. )
    5. IS
    6. v_start_time varchar2(30) := to_date(p_start_time),'yyyymmdd');
    7. v_end_time varchar2(30) := to_date(p_end_time),'yyyymmdd');
    8. BEGIN
    9. merge into ods_merge_emp_target t
    10. using (select * from ods_merge_emp where create_time=v_start_time)s
    11. on (s.empno=t.empno)
    12. where matched then update set
    13. --t.empno=s.empno,(匹配字段不能更新)
    14. t.ename=s.ename,
    15. t.job=s.job,
    16. t.mgr=s.mgr,
    17. t.sal=s.sal,
    18. t.comm=s.comm,
    19. t.deptno=s.deptno,
    20. t.create_time=s.create_time
    21. when not matched then insert values(
    22. s.empno,
    23. s.ename,
    24. s.job,
    25. s.mgr,
    26. s.sal,
    27. s.comm,
    28. s.deptno
    29. s.creat_time);
    30. COMMIT;--增删改必须提交代码
    31. end;

  • 相关阅读:
    判断子序列
    element -ui 横向时间轴,时间轴悬浮对应日期
    T5 model
    2023 年全国大学生数学建模A题目-定日镜场的优化设计
    DBCO Sata650,二苯并环辛烷Sata650,Seta-650-DBCO
    树莓派读取gps neo6m信息
    数据结构——红黑树
    关于安卓artifactory本地仓库搭建
    目前中国ib学校有多少所?
    CCWin.SkinControl.skinDataGridView 列填充满屏幕
  • 原文地址:https://blog.csdn.net/a874045/article/details/138095955