批量更新数据Oracle
2017-02-08 14:57
323 查看
最近做项目遇到一个问题,前台页面修改购物订单,订单包含几百条商品,前台修改商品的数量,列表信息提交给后台。
订单表Order(OrderNo,GoodsCode,GoodsName,Unit,Remark,Quantity,.........);
前台修改Quantity的值,返回List<OrderVo>,OrderVo对象包含三个属性OrderNo,GoodsCode,Quantity,存新的Quantity值。
传统的方法,根据商品编号一条一条update的Order表中的Quantity值,update几百次,显然效率很低。
现在考虑建一张临时表OrderTemp(OrderNo,GoodsCode,Quantity),批量插入List<OrderVo>的对象内容
订单表Order(OrderNo,GoodsCode,GoodsName,Unit,Remark,Quantity,.........);
前台修改Quantity的值,返回List<OrderVo>,OrderVo对象包含三个属性OrderNo,GoodsCode,Quantity,存新的Quantity值。
传统的方法,根据商品编号一条一条update的Order表中的Quantity值,update几百次,显然效率很低。
现在考虑建一张临时表OrderTemp(OrderNo,GoodsCode,Quantity),批量插入List<OrderVo>的对象内容
INSERT INTO OrderTemp (OrderNo,GoodsCode,Quantity) (SELECT #{item.orderNo,jdbcType=VARCHAR},#{item.GoodsCode,jdbcType=VARCHAR},#{item.Quantity,jdbcType=REAL} FROM DUAL)然后用临时表给订单表赋值
update Order d SET d.Quantity =(select t.Quantity from OrderTemp t where t.OrderNo = d.OrderNo ) where exists(select 1 from OrderTemp t where t.OrderNo = d.OrderNo )
相关文章推荐
- oracle表数据批量更新或插入
- PreparedStatement 批量更新,插入数据到Oracle
- Oracle数据的批量更新
- 利用JDBC中处理批量更新oracle数据
- 使用mybatis 对 oracle数据批量插入、更新
- 通过Loadrunner读取excel表数据并批量更新到Oracle中
- ORACLE 和SQLSERVER 两表之间批量更新数据对比
- Mybatis+Oracle进行数据的批量插入和更新
- PreparedStatement 批量更新,插入数据到Oracle mysql
- ORACLE 大数据批量更新 MERGE INTO 代替 UPDATE/INSERT INTO 提升性能
- .net中利用oracle产品自带的数据访问组件(Oracle.DataAccess.dll)提升批量更新操作的执行效率
- Oracle两张表关联批量更新其中一张表的数据
- Oracle中采用存储过程的方式批量更新数据
- 一个简单的批量更新oracle 数据库中 最近的服务商名称的数据
- .net中利用oracle产品自带的数据访问组件(Oracle.DataAccess.dll)提升批量更新操作的执行效率
- ORACLE 和SQLSERVER 两表之间批量更新数据对比
- oracle 批量更新之将A表数据批量更新至B表
- Scott Mitchell 的ASP.NET 2.0数据教程之三十七:: 批量更新
- 批量更新数据.
- 批量更新数据表