zoukankan      html  css  js  c++  java
  • SQL Update语句的理解

    在SQL中,更新操作包括一次删除操作和一次插入操作。
    首先是从操作表中获取要更新的记录的集合,并进行修改后暂时保存该集合,可能类似于

    Select Col1, Col2, Col3, UpdatedCol = UpdateValueExpr ...
    Into Temp
    From SourceTable
    Where Condition
    

    然后再从原表中删除这些记录,

    Delete From SourceTable
    Where Condition
    

    再把Inserted表中的记录插入回原表

    Insert into SourceTable
      Select * from Temp
    

    也就是说,更新操作是先把要保存修改好的记录,才会对原表进行操作,在此之前原表数据不会发生改变
    所以可以有这样的Update语句

    //如果Name字段与上一行的相同,则设置为‘’,否则不改变
    Update a
    Set Name = Case When Exists(Select * from SourceTable Where RowID = a.RowID And Name = a.Name) Then ‘’ Else Name End
    From SourceTable a
    
  • 相关阅读:
    XML 读取器和编写器从URL读取XML
    8月8号 星期五
    080808 晴
    080805
    雨景
    用photoshop批量修改照片(待修改)
    8月7日 晴
    五不
    Android 画渐变的背景
    iOS开发的一些基础知识
  • 原文地址:https://www.cnblogs.com/wuchangxing/p/15597805.html
Copyright © 2011-2022 走看看