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)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新丰县| 高尔夫| 靖宇县| 西乌| 南充市| 六安市| 贵港市| 湟中县| 金门县| 成武县| 天津市| 沈阳市| 当涂县| 威远县| 韩城市| 攀枝花市| 晋宁县| 桑植县| 福安市| 红桥区| 渝北区| 大丰市| 南陵县| 博野县| 互助| 横山县| 张家港市| 留坝县| 遂川县| 赫章县| 吕梁市| 铜川市| 图们市| 古蔺县| 伊通| 兴安盟| 海盐县| 淮滨县| 麻栗坡县| 革吉县| 尖扎县|