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

    A,B表通过key关联的批量更新数据方法:
    批量修改:{
    update A
    set A.qcye=B.qcye
    from B
    where A.kmdm=B.kmdm
    and   A.fmonth=B.fmonth
    and   A.fmonth=0
    }
    

      更新数据一般通过应用程序来完成,使用UPDATE语句更新记录是数据库管理员维护数据的最要手段。UPDATE语句用于更新记录的列的值,它的语法比较复杂,本节将详细讲述该语句的使用。

    UPDATE:修改表中的数据行
    部分语法:
        UPDATE
        {  table_name | view_name }
        SET 
        {  column_name={ expression | DEFAULT | NULL}
           |  @variable=expression
           |  @ variable=column=expression  } [,…n]
        { [ FROM { <table_source>} [,…n]
                    [WHERE <search_condition>]  }
    
    使用 WHERE 子句指出哪些行要更新
    SET 关键字指定新值
    输入值的类型必须与所定义的数据类型一致
    SQL Server 不会更新违反任何完整性约束的行
    每次只能修改一个表中的数据
    可以同时把一个或多个列、变量放在一个表达式中    

    USE northwind

    UPDATE products SET unitprice = (unitprice * 1.1)

    GO

    UPDATE 语句是如何工作的

    Ÿ从不对同一行更新两次
    Ÿ在不明确的字段名前要使用表名作为前缀
    用连接查询指定要更新的行
    Ÿ使用 FROM 子句
    使用子查询指定要更新的行
    Ÿ如果子查询没返回一个值,则必须在子查询中引入 IN、EXISTS、ANY 或 ALL 关键字
    Ÿ建议使用有聚集函数的相关子查询
    例子一
    UPDATE products
     SET unitprice=unitprice+2
     FROM products
     INNER JOIN suppliers
      ON products.supplierid=suppliers.supplierid
     WHERE suppliers.country=‘USA’
    GO  
    

      

    例子二
    SELECT products
     SET unitprice=unitprice+2
     WHERE supplierid IN(
                          SELECT supplierid
                          FROM suppliers
                          WHERE country=‘USA’
                         )
    GO
    

     

    例子三
    UPDATE products
     SET todatesales=(
                      select sum(quantity)
                      from [order details] as od
                      where products.productid=od.productid
                      )
    GO  
    

      

    例子四
    UPDATE TOP(2) TABLE2
    SET Pwd = 'TOP2' 
    GO  
    

      

  • 相关阅读:
    jvm-java内存模型与锁优化
    jvm-垃圾收集器与内存分配策略
    jvm-内存区域与内存溢出异常
    并发-AQS源码分析
    并发-Synchronized底层优化(偏向锁、轻量级锁)
    并发-CopyOnWrite源码分析
    并发-AtomicInteger源码分析—基于CAS的乐观锁实现
    【BZOJ】3052: [wc2013]糖果公园 树分块+带修改莫队算法
    【BZOJ】1086: [SCOI2005]王室联邦
    【BZOJ】4358: permu 莫队算法
  • 原文地址:https://www.cnblogs.com/xinyaoxp/p/3303289.html
Copyright © 2011-2022 走看看