qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          各數(shù)據(jù)庫的批量Update操作

            一、前言
            MyBatis的update元素的用法與insert元素基本相同,因此本篇不打算重復(fù)了。本篇僅記錄批量update操作的sql語句,懂得SQL語句,那么MyBatis部分的操作就簡單了。
            注意:下列批量更新語句都是作為一個事務(wù)整體執(zhí)行,要不全部成功,要不全部回滾。
            二、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語句
            當(dāng)條更新:
            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會根據(jù)主鍵值,決定執(zhí)行INSERT操作還是UPDATE操作。
            五、總結(jié)
            本篇突出MyBatis作為半自動ORM框架的好處了,全手動操控SQL語句怎一個爽字了得。但對碼農(nóng)的SQL知識要求也相對增加了不少,倘若針對項目要求再將這些進行二次封裝那會輕松比少。

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

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

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 利川市| 玉环县| 井陉县| 汾阳市| 永清县| 普陀区| 南川市| 合作市| 津南区| 政和县| 扶沟县| 聂荣县| 民丰县| 桦川县| 南康市| 苏尼特左旗| 合阳县| 水富县| 新郑市| 容城县| 广河县| 霞浦县| 丰台区| 保康县| 乌拉特后旗| 福贡县| 宁乡县| 陵川县| 定陶县| 宜川县| 松原市| 牟定县| 襄汾县| 成武县| 丹棱县| 康定县| 贵港市| 信阳市| 武宣县| 台山市| 永城市|