zoukankan      html  css  js  c++  java
  • 批量更新数据

    update BuyPruduct set AmountInvoice = AmountInvoice - b.Amount from 
    (
            
    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中的记录.

    不管有多少条记录,也最多只打开三个,双以前写的那种,可以说好多啦.

    这样不尽减少了网络的数据流量同时也对减轻了数据的负担.

    当然最好的法子就是写一个存储过程(可惜像样的还不会写.)

  • 相关阅读:
    阿里巴巴
    实用得 JS 代码
    C#获得当前插入数据的ID
    “职场五魅”助你成功
    SQL2005导入导出数据库方法集合
    VS05里checkboxlist用JS获取 value值
    sql 去除html标签函数
    百度新闻搜索结果页的采集
    把表中的某个字段格式如:2,3,4的数据分别插入到另一个表中
    jquery 定位元素并获取数据
  • 原文地址:https://www.cnblogs.com/xiaotuni/p/2365753.html
Copyright © 2011-2022 走看看