zoukankan      html  css  js  c++  java
  • oracle中merge方法

      先看SQL语句:merge into employee e using emps em on (e.emp_id=em.emp_id)

    when matched then  update set e.emp_name=em.emp_name

    when not matched then insert values (em.emp_id,em.emp_name)

      1.将emps表中的数据更新到employee表中,以主键匹配,如果主键匹配就执行update语句,如果不匹配则执行insert语句,需要注意的是,如果emps表中的数据均匹配employee表的数据,则不能写insert语句,也可以指处理匹配的情况,即没有when not matched 语句

      2.using后边也可以用视图或者子查询,如上边的例子也可以写为:

    merge into employee e using (select * from  emps) em on (e.emp_id=em.emp_id) 

    when matched then  update set e.emp_name=em.emp_name

    when not matched then insert values (em.emp_id,em.emp_name)

      3.update和insert子句可以加where子句:

    merge into employee e using (select * from  emps) em on (e.emp_id=em.emp_id)

    when matched then  update set e.emp_name=em.emp_name where em.emp_name like ‘%%

    when not matched then insert values (em.emp_id,em.emp_name) where em.emp_name like ‘%%

    即只添加emps表中含有张的数据

      4.update子句后可以跟delete子句删除一些不需要的数据,delete只能和update子句配合使用

    merge into employee e using (select * from  emps) em on (e.emp_id=em.emp_id)

    when matched then  

    update set e.emp_name=em.emp_name delete where e.emp_id=em.emp_id where em.emp_name like ‘%%

    when not matched then insert values (em.emp_id,em.emp_name)

    即不更新emps表中含有张字的数据

  • 相关阅读:
    VC笔记
    安卓开发,调用系统相册或相机选择图片
    安卓gradle时报错"ERROR: Plugin with id 'com.android.application' not found."
    安卓开发 利用百度识图api进行物体识别(java版)
    安卓使用讯飞SDK
    《构建之法》读书笔记1
    安卓开发 利用百度识图api进行物体识别
    安卓使用讯飞sdk报错
    Android webview学习
    open failed: EACCES (Permission denied)
  • 原文地址:https://www.cnblogs.com/zijinyouyou/p/5190673.html
Copyright © 2011-2022 走看看