国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Oracle數據庫merge into的使用,存在則更新,不存在則插入

Taonce / 1286人閱讀

摘要:在實際應用場景中,我們會用到如果這條數據在表中,就更新數據如果不存在這條數據,就插入這條數據。里面是條件,可以寫一個條件,也可以用連多個條件。順便介紹一下中怎么使用,直接上代碼,代碼使用的是動態。注意一定要用標簽。

1、在實際應用場景中,我們會用到:如果這條數據在表中,就更新數據;如果不存在這條數據,就插入這條數據。
在oracle中,可以使用merge into實現,在mysql中可以使用ON DUPLICATE KEY UPDATE,這里只介紹oracle中的merge into實現方法,sql語法如下:

 
merge into testtable t using dual on (t.id = "1")  
         when not matched then insert (id,a,b) values (1,2,1)  
             when matched then update set b = b+1;  

select * from testtable;(如果testtable是空表,執行上述語句之后如下:) 
id    A    B
--------------- 
1     2    1

select * from testtable;(如果再執行一次merge into,testtable結果)
id    A    B
---------------
1     2    2

解釋:

using dual on (...)是一種固定寫法,也可以寫成 using (select 1 from dual) on (...) , 表名dual也可以寫成其他的名字。

on(...)里面是條件,可以寫一個條件,也可以用and連多個條件。

2、順便介紹一下mybatis中怎么使用merge into,直接上代碼,代碼使用的是動態sql。

  
    merge into staff_evaluation t   
        using dual on (t.login_id = #{loginId,jdbcType=VARCHAR})  
        when not matched then insert  
      
          
            USER_ID,  
          
          
            LOGIN_ID,  
          
          
            USER_NAME,  
          
          
            COMPLEX_SCORE,  
          
          
            MOBILE_SERVICE_SCORE,  
          
          
            BROADBAND_SCORE,  
          
          
            KEEP_SCORE,  
          
          
            STATE,  
          
          
            EVALUATE_TEXT,  
          
          
            BEGIN_TIME,  
          
          
            END_TIME,  
          
          
            EVALUATE_PERSON,  
          
      
      
          
            #{userId,jdbcType=VARCHAR},  
          
          
            #{loginId,jdbcType=VARCHAR},  
          
          
            #{userName,jdbcType=VARCHAR},  
          
          
            #{complexScore,jdbcType=VARCHAR},  
          
          
            #{mobileServiceScore,jdbcType=VARCHAR},  
          
          
            #{broadbandScore,jdbcType=VARCHAR},  
          
          
            #{keepScore,jdbcType=VARCHAR},  
          
          
            #{state,jdbcType=VARCHAR},  
          
          
            #{evaluateText,jdbcType=VARCHAR},  
          
          
            #{beginTime,jdbcType=VARCHAR},  
          
          
            #{endTime,jdbcType=VARCHAR},  
          
          
            #{evaluatePerson,jdbcType=VARCHAR},  
          
      
    when matched then update  
      
          
            t.COMPLEX_SCORE = #{complexScore,jdbcType=VARCHAR},  
          
          
            t.MOBILE_SERVICE_SCORE = #{mobileServiceScore,jdbcType=VARCHAR},  
          
          
            t.BROADBAND_SCORE = #{broadbandScore,jdbcType=VARCHAR},  
          
          
            t.KEEP_SCORE = #{keepScore,jdbcType=VARCHAR},  
          
          
            t.EVALUATE_TEXT = #{evaluateText,jdbcType=VARCHAR},  
          
          
            t.BEGIN_TIME = #{beginTime,jdbcType=VARCHAR},  
          
          
            t.END_TIME = #{endTime,jdbcType=VARCHAR},  
          
          
            t.EVALUATE_PERSON = #{evaluatePerson,jdbcType=VARCHAR},  
          
      
    where t.LOGIN_ID = #{loginId,jdbcType=VARCHAR}  

注意:一定要用update標簽。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71200.html

相關文章

發表評論

0條評論

Taonce

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<