Welcome 微信登录

首页 / 数据库 / MySQL / Oracle Merge 实现更新/插入记录的自动判断

在 SQL MAP 中定义这样的 SQL ,Oracle 数据库中, 如果有  s.post=t.post and s.FLISK_ID=t.FLIGHK_ID 这 2 个条件和传入的数据相等的, 那么就执行 UPDATE   SET  语句。 否则执行  INSERT 语句。
  1. merge into crs.flight_task_config s    
  2.      using (select #fliaskId# as  FLIID,#post# as post     
  3.      from dual) t    
  4.      on    
  5.      (s.post=t.post and s.FLISK_ID=t.FLIGHK_ID )   
  6.      when  matched then update    
  7.         set   s.PERSONS = #persons:DECIMAL#,   
  8.               s.LAST_MODIFIER = #lastModifier:DECIMAL#,   
  9.               s.LAST_MODIFY_TIME = SYSDATE,   
  10.               s.IF_LINGYAN = "NO"  
  11.         when not matched then    
  12.         insert (   
  13.             s.TASFIG_ID,   
  14.             s.FLIGASK_ID,   
  15.             s.POST,   
  16.             s.PERSONS,   
  17.             s.LAST_MODIFIER,    
  18.             s.LAST_MODIFY_TIME,   
  19.             s.IF_LINGYAN)   
  20.                 values (   
  21.              crs.SEQ_fligconfig.Nextval,   
  22.              #fligkId:DECIMAL#,   
  23.              #post:VARCHAR#,   
  24.              #persons:DECIMAL#,   
  25.              #lastModifier:DECIMAL#,   
  26.              SYSDATE,   
  27.              "NO")     
Oracle Dba必须了解的buffer busy waits等待Linux下Oracle安装文件.cpio.gz文件的解压相关资讯      Oracle Merge 
  • Oracle中merge命令的简单使用  (03/22/2015 13:56:20)
  • Oracle 的merge into 用法  (02/04/2015 10:03:49)
本文评论 查看全部评论 (0)
表情: 姓名: 字数