批量更新数据
来源:互联网 发布:阿里云栖大会ppt 编辑:程序博客网 时间:2024/06/06 19:16
update BuyPruduct set AmountInvoice = AmountInvoice - b.Amount from
(
select BuyProtocolProductID,Amount from BuyInvoiceProduct
where BuyInvoiceID = @ImportValue
)
as b
where BuyPruduct.ID = b.BuyProtocolProductID
(
select BuyProtocolProductID,Amount from BuyInvoiceProduct
where BuyInvoiceID = @ImportValue
)
as b
where BuyPruduct.ID = b.BuyProtocolProductID
其中BuyProduct 的ID是主键
BuyInvoiceProduct表中的 BuyProtocolProductID 字段和BuyProduct中 的ID是相同的
这种情况是在删除 BuyInvoice 表中的记录是
把BuyInvoiceProduct表中的记录全都的删除
同时还要修改BuyPruduct表中的记录,
由于不太熟在sql数据里写存储过程
以后这种实现都在每删除一条BuyInvoiceProduct记录
同时去更新一个BuyPruduct表中对应记录AmountInvoice的值
后来想了想了如果有一百记录的话
那致少得循环的一百的打开数据,连接数据.
这样事必对数据产能行大的冲击.
后来在网上看到了有关一些批量更新的法子
于是就更用了上面那种
如果用这个的话,打开数据连接最多三次
第一次是删除BuyInvoice里的记录时打开一次.
第二次就是更新BuyPruduct表时打又打开一次
最后一新就是删除BuyInvoiceProduct中的记录.
不管有多少条记录,也最多只打开三个,双以前写的那种,可以说好多啦.
这样不尽减少了网络的数据流量同时也对减轻了数据的负担.
当然最好的法子就是写一个存储过程(可惜像样的还不会写.)
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1586586
- 批量更新数据
- 批量更新数据
- 批量更新数据.
- 批量更新数据
- 批量更新数据
- 批量更新数据
- 批量更新数据
- Hibernate批量更新数据
- Oracle批量更新数据
- SqlCommandBuilder批量更新数据
- 批量更新重复数据
- 批量关联更新数据
- SqlCommandBuilder批量更新数据
- 批量数据更新
- 快速批量更新数据
- oracle批量更新数据
- oracle 批量更新数据
- Mybatis批量更新数据
- JAVASCRIPT:-->用脚本实现表单的分向提交
- 生成静态html
- Drupal专业开发指南 第17章 在Drupal中使用jQuery(1)
- 好的Drupal实践,Drupal角色
- 怎样表示你的鼓励
- 批量更新数据
- Drupal专业开发指南 第18章 Drrupal的本地化及中文化(2)
- javascript 脚本对 DataGrid 中文本的操作
- ARM FPGA DSP的特点和区别是什么?
- Drupal专业开发指南 第18章 Drupal的本地化及中文化(1)
- kdb代码分析(六)
- ARM开发工具综述转
- ajax 笔记--不用刷新实现数据的分页显示
- 今天看到蓓蓓两眼