qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問(wèn) http://qaseven.github.io/

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

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

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

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 云阳县| 绥宁县| 英吉沙县| 东乡县| 年辖:市辖区| 和静县| 甘孜县| 邢台市| 壶关县| 大姚县| 衢州市| 旌德县| 德江县| 桓仁| 南京市| 大名县| 绥中县| 六枝特区| 泽库县| 嘉义市| 大厂| 香格里拉县| 沙田区| 武隆县| 北票市| 临桂县| 抚顺县| 博湖县| 甘南县| 托克逊县| 兰考县| 莎车县| 禹州市| 仁寿县| 甘南县| 桃源县| 和政县| 孟村| 体育| 石景山区| 贵南县|