qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          各數據庫的批量Update操作

            一、前言
            MyBatis的update元素的用法與insert元素基本相同,因此本篇不打算重復了。本篇僅記錄批量update操作的sql語句,懂得SQL語句,那么MyBatis部分的操作就簡單了。
            注意:下列批量更新語句都是作為一個事務整體執行,要不全部成功,要不全部回滾。
            二、MSSQL的SQL語句
            WITH R AS(
            SELECT 'John' as name, 18 as age, 42 as  id
            UNION ALL
            SELECT 'Mary' as name, 20 as age, 43 as  id
            UNION ALL
            SELECT 'Kite' as name, 21 as age, 44 as  id
            )
            UPDATE TStudent SET name = R.name, age = R.age
            FROM R WHERE R.id = TStudent.Id
            三、MSSQL、ORACLE和MySQL的SQL語句
            UPDATE TStudent SET Name = R.name, Age = R.age
            from (
            SELECT 'Mary' as name, 12 as age, 42 as id
            union all
            select 'John' as name , 16 as age, 43 as id
            ) as r
            where ID = R.id
            四、SQLITE的SQL語句
            當條更新:
            REPLACE INTO TStudent(Name, Age, ID)
            VALUES('Mary', 12, 42)
            批量更新:
            REPLACE INTO TStudent(Name, Age, ID)
            SELECT * FROM (
            select 'Mary' as a, 12 as b, 42 as c
            union all
            select 'John' as a, 14 as b, 43 as b
            ) AS R
            說明:REPLACE INTO會根據主鍵值,決定執行INSERT操作還是UPDATE操作。
            五、總結
            本篇突出MyBatis作為半自動ORM框架的好處了,全手動操控SQL語句怎一個爽字了得。但對碼農的SQL知識要求也相對增加了不少,倘若針對項目要求再將這些進行二次封裝那會輕松比少。

          posted on 2014-11-19 09:59 順其自然EVO 閱讀(763) 評論(0)  編輯  收藏 所屬分類: 數據庫

          <2014年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 息烽县| 彝良县| 古田县| 天全县| 桐庐县| 石狮市| 河北省| 安徽省| 安化县| 武安市| 兴化市| 水富县| 施甸县| 台湾省| 繁峙县| 宁武县| 固始县| 黔江区| 义马市| 绥阳县| 襄城县| 南宫市| 太仆寺旗| 利川市| 龙川县| 长宁区| 和政县| 波密县| 闽侯县| 手游| 临湘市| 广丰县| 南皮县| 梁河县| 林口县| 关岭| 望江县| 阿瓦提县| 宜兰市| 修水县| 巩留县|