当前位置:首页 > 开发 > 数据库 > 正文

各数据库的批量Update操作

发表于: 2014-11-26   作者:tomcat_oracle   来源:转载   浏览:
摘要: MyBatis的update元素的用法与insert元素基本相同,因此本篇不打算重复了。本篇仅记录批量update操作的 sql语句,懂得SQL语句,那么MyBatis部分的操作就简单了。   注意:下列批量更新语句都是作为一个事务整体执行,要不全部成功,要不全部回滚。 MSSQL的SQL语句  WITH R AS(   SELECT 'John' as name, 18 as
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知识要求也相对增加了不少,倘若针对项目要求再将这些进行二次封装那会轻松比少。

各数据库的批量Update操作

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
窗体顶端 private void button2_Click(object sender, EventArgs e) 2 { 3 if (lboxMenu.Items.Coun
  如果要将某个数据库或多个数据库附加到当前的服务器中,那么必须使用附加数据库的功能。这里通
下面ADO.NET的批量处理,在处理字符串中用“+”号可以连接多个字符串处理语句,这样我们就可以实现
需求:将t_user_info表中user_img、nickname、user_bg_img三个字段的值设置成与t_hr表中的hr_name、
向表中插入数据:1.判断该条数据是否存在。2.如果存在则更新,如果不存在则插入。 在 SQL Server 中
首先是我的数据库表(PLSQL操作) --建表 create table TEST_TABLE ( yid NUMBER, ytel VARCHAR2(50),
标签:UPDATE 概述 测试环境:mysql 5.6.21 步骤 创建测试表 CREATE TABLE `product` ( `proID` int
一、使用HQL执行批量操作 注意:插入数据时:只支持INSERT INTO ... SELECT ...形式,不支持INSERT I
背景: 前两天由于工作需要做个业务单据接口(支持批量处理),一般有接口发布为批量,但访问数据库
1.如上图显示,点击最上边的会把所有的多选框选中,即全选, <INPUT onClick="checkAll(this.che
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号