精华内容
下载资源
问答
  • update关联其他表批量更新数据

    千次阅读 2019-08-11 06:20:04
    批量更新时,update一个的列时,...在程序代码里逐条循环执行这里给出一种更高效、简洁的做法,批量更新SQL ,一句SQL就可以替代麻烦的循环过程,有MS SQLServer、Oracle、DB2下的写法--关键点:t4和t1是同一...

    批量更新表时,update一个表的列时,需要依赖另外的表,这种依赖可以是where条件子句,也可以要update的field的值依赖另外的表

       通常有两种做法
       1.使用存储过程
       2.在程序代码里逐条循环执行
    这里给出一种更高效、简洁的做法,批量更新SQL ,一句SQL就可以替代麻烦的循环过程,有MS SQLServer、Oracle、DB2下的写法
    --关键点:t4和t1是同一个table,primary key肯定也是同一个,
    --并以它进行关联,这样在 select语句里即可引用到要update的表的fields 
    UPDATE Table1 AS t1 
    SET (Field1,Field2) = (SELECT Field21, Field22 
                           FROM Table2 t2 
                                INNER JOIN Table3 t3 
                                     ON t3.Field31 = t2.Field23 
                                INNER JOIN Table4 t4 
                                     ON t3.Field32 = t4.Filed41 
                           WHERE t2.Field24 >= '' 
                                          AND t1.fId = t4.fId); 
    ----------------------------MS SQLServer --------------------------------------

    UPDATE t1 
    SET Field1 = Field21, Field2 = Field22 
    FROM Table2 t2 
             INNER JOIN Table3 t3 
                  ON t3.Field31 = t2.Field23 
             INNER JOIN Table4 t4 
                  ON t3.Field32 = t4.Filed41 
    WHERE ((t2.Field24 >= '') 
                      AND t1.fId = t4.fId); 
    ----------------------------Oracle --------------------------------------------

    UPDATE Table1 t1 
    SET (Field1,Field2) = (SELECT Field21, Field22 
                           FROM Table2 t2 
                                INNER JOIN Table3 t3 
                                     ON t3.Field31 = t2.Field23 
                                INNER JOIN Table4 t4 
                                     ON t3.Field32 = t4.Filed41 
                           WHERE ((t2.Field24 >= '') 
                                     AND t1.fId = t4.fId)) 
    WHERE EXISTS (SELECT Field21, Field22 
                  FROM Table2 t2 
                       INNER JOIN Table3 t3 
                            ON t3.Field31 = t2.Field23 
                       INNER JOIN Table4 t4 
                            ON t3.Field32 = t4.Filed41 
                  WHERE ((t2.Field24 >= '') 
                                   AND t1.fId = t4.fId)); 
    ---------------------------------DB2 ------------------------------------------

    UPDATE Table1 AS t1 
    SET (Field1,Field2) = (SELECT Field21, Field22 
                           FROM Table2 t2 
                                INNER JOIN Table3 t3 
                                     ON t3.Field31 = t2.Field23 
                                INNER JOIN Table4 t4 
                                     ON t3.Field32 = t4.Filed41 
                           WHERE ((t2.Field24 >= '') 
                                             AND t1.fId = t4.fId)) 
    WHERE EXISTS (SELECT Field21, Field22 
                  FROM Table2 t2 
                       INNER JOIN Table3 t3 
                            ON t3.Field31 = t2.Field23 
                       INNER JOIN Table4 t4 
                            ON t3.Field32 = t4.Filed41 
                  WHERE ((t2.Field24 >= '') 
                                    AND t1.fId = t4.fId));

     

    -----转载自博客园

    转载于:https://www.cnblogs.com/AppleZhang/p/4311741.html

    展开全文
  • 之前写了个blog(update关联其他表批量更新数据),里面有sqlserver、oracle、db2,却没有access,现放置以下sql以备忘: update profit a,members b set a.hy_id=b.hy_id where a.memberid=b.memberid 其中profit...

            之前写了个blog(update关联其他表批量更新数据),里面有sql server、oracle、db2,却没有access,现放置以下sql以备忘:

    update profit a,members b set a.hy_id=b.hy_id where a.memberid=b.memberid

    其中profit和members表通过memberid关联,members为主表,profit为从表。现hy_id与memberid是一一对应,上面的sql把members表中的hy_id根据memberid更新到了profit表的hy_id字段中。

            据说还有另外一个sql,我没有测试:

    update 学号表 inner join 成绩表 on 学号表.学号=成绩表.学号 set 学号表.成绩=成绩表.成绩

            离谱的是,现在竟然看不懂原来的那篇了。。。

    转载于:https://www.cnblogs.com/badwood316/archive/2012/10/09/2717615.html

    展开全文
  • SQL培训第一期

    2018-03-14 15:04:04
    结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) 对数据库进行的信息查询,select。 ...
  • -- 对于批量更新操作缓存SQL以提高性能 --> <!-- 数据库超过25000秒仍未响应则超时 --> <!--<setting name="defaultStatementTimeout" value="25000" />--> <!-- 打印查询语句 --> <!-- 开启驼峰--> ...
  • 37、数据库字段替换,可批量替换各个数据中指定字段的内容,快速纠正错误。 38、强大的会员互动功能 支持企业会员和个人会员 支持会员注册、登录、退出、审核、锁定、资料修改等基本功能; 支持新会员注册...
  • 16.6. 批量更新(Batch updates) 16.7. Multi Query 16.8. 多重条件查询 17. 工具箱指南 17.1. 数据库结构生成(schema generation) 17.1.1. 对schema定制化(Customizing the schema) 17.1.2. 运行该工具 17.1.3. ...
  • ·完善数据库在线管理,实现在线备份恢复压缩及SQL语句执行 ·后台友情链接增加图片上传功能 ·后台登陆文件和校验文件整合精简为一个文件 ·修订前台提交新网址错误(感谢星闻网) ver2.5.0 ·重构全部管理模块 ·...
  • 实例284 使用触发器删除相关联的两间的数据 7.5 事务的使用 实例285 使用事务同时提交多个数据 实例286 使用隐式事务实现多提交数据 实例287 使用事务批量删除生产单信息 实例288 在事务中的级锁定 实例289 ...
  • 实例284 使用触发器删除相关联的两间的数据 7.5 事务的使用 实例285 使用事务同时提交多个数据 实例286 使用隐式事务实现多提交数据 实例287 使用事务批量删除生产单信息 实例288 在事务中的级锁定 实例289 ...
  • 实例284 使用触发器删除相关联的两间的数据 7.5 事务的使用 实例285 使用事务同时提交多个数据 实例286 使用隐式事务实现多提交数据 实例287 使用事务批量删除生产单信息 实例288 在事务中的级锁定 实例289 ...
  • 5.3 用SQL中选择数据 64 5.4 select 、from 、where和order by 67 5.5 逻辑和值 69 5.5.1 单值测试 70 5.5.2 值列表的简单测试 75 5.5.3 组合逻辑 77 5.6 where 的另一个用途:子查询 78 5.6.1 从子...
  • Toad 使用快速入门

    2008-11-27 15:22:14
    例如,当我们点一个数据库的表,所有和此表相关的索引、约束、存储过程、SQL语句以及和其他表的相互引用关系都在同一界面显示出来。为了简化操作,用户可以在浏览窗口操作数据库对象。 SQL 编辑器: SQL 编辑器的...
  • HibernateAPI中文版.chm

    2014-10-07 21:44:35
    13.2. 批量更新(Batch updates) 13.3. StatelessSession (无状态session)接口 13.4. DML(数据操作语言)风格的操作(DML-style operations) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句...
  • 13.2. 批量更新(Batch updates) 13.3. StatelessSession (无状态session)接口 13.4. DML(数据操作语言)风格的操作(DML-style operations) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句...
  • Hibernate+中文文档

    2011-02-22 09:06:02
    13.2. 批量更新(Batch updates) 13.3. StatelessSession (无状态session)接口 13.4. DML(数据操作语言)风格的操作(DML-style operations) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句...
  • Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    千次下载 热门讨论 2009-01-14 08:06:55
    13.2. 批量更新(Batch updates) 13.3. StatelessSession (无状态session)接口 13.4. DML(数据操作语言)风格的操作(DML-style operations) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句...
  • 最全Hibernate 参考文档

    2018-08-29 09:51:51
    13.2. 批量更新(Batch updates) 13.3. 大批量更新/删除(Bulk update/delete) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与连接(Join) 14.4. select子句 14.5. ...
  • 13.2. 批量更新(Batch updates) 13.3. StatelessSession (无状态session)接口 13.4. DML(数据操作语言)风格的操作(DML-style operations) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3...
  • Hibernate参考文档

    2011-03-04 21:32:04
    13.2. 批量更新(Batch updates) 13.3. StatelessSession (无状态session)接口 13.4. DML(数据操作语言)风格的操作(DML-style operations) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3...
  • hibernate 框架详解

    2011-06-07 12:13:22
    批量更新(Batch updates) 14.3. 大批量更新/删除(Bulk update/delete) 15. HQL: Hibernate查询语言 15.1. 大小写敏感性问题 15.2. from子句 15.3. 关联(Association)与连接(Join) 15.4. select子句 ...
  • 13.2. 批量更新(Batch updates) 13.3. StatelessSession (无状态session)接口 13.4. DML(数据操作语言)风格的操作(DML-style operations) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句...
  • Hibernate教程

    2010-04-29 11:24:20
    14.2. 批量更新(Batch updates) 14.3. 大批量更新/删除(Bulk update/delete) 15. HQL: Hibernate查询语言 15.1. 大小写敏感性问题 15.2. from子句 15.3. 关联(Association)与连接(Join) 15.4. select子句 ...
  • 批量更新(Batch updates) 13.3. StatelessSession (无状态session)接口 13.4. DML(数据操作语言)风格的操作(DML-style operations) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3...
  • 13.2. 批量更新(Batch updates) 13.3. StatelessSession (无状态session)接口 13.4. DML(数据操作语言)风格的操作(DML-style operations) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3...
  • 实例262 利用数据集组件实现临时的存储功能 341 实例263 制作简单的数据库操作软件 342 8.3 图片、多媒体数据录入技术 343 实例264 向access数据库录入图片 343 实例265 从access数据库提取图片 345...
  • 图书作者: 明日科技 图书编号: 9787115277589 ...实例262 利用数据集组件实现临时的存储功能 341 实例263 制作简单的数据库操作软件 342 8.3 图片、多媒体数据录入技术 343 实例264 向access数据库...
  • 14.2. 批量更新(Batch updates) 14.3. 大批量更新/删除(Bulk update/delete) 15. HQL: Hibernate查询语言 15.1. 大小写敏感性问题 15.2. from子句 15.3. 关联(Association)与连接(Join) 15.4. select子句 ...
  •  16.4.5 批量延迟检索和批量立即检索(使用batch-size属性)  16.5 控制迫切左外连接检索的深度  16.6 在应用程序中显式指定迫切左外连接检索策略  16.7 属性级别的检索策略  16.8 小结  16.9 思考题 第17章 ...
  •  16.4.5 批量延迟检索和批量立即检索(使用batch-size属性)  16.5 控制迫切左外连接检索的深度  16.6 在应用程序中显式指定迫切左外连接检索策略  16.7 属性级别的检索策略  16.8 小结  16.9 思考题 第17章 ...

空空如也

空空如也

1 2 3 4 5
收藏数 89
精华内容 35
关键字:

关联其他表批量更新sql