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  
    

      

  • 相关阅读:
    虚拟化、云计算与超融合的简单总结
    期货量化总结与思考
    易盛内外通用版交易API转websocket
    门诊叫号系统系列-1.语音叫号 .net c#
    六线顺上黑马选股和切割线选股法该如何操作?
    我的总结--强势股的短线战法精髓
    MACD头肩顶/底 = 驱动五浪
    有效突破的三三原则
    5日均线--攻击线
    10日均线--操盘线
  • 原文地址:https://www.cnblogs.com/xinyaoxp/p/3303289.html
Copyright © 2011-2022 走看看