• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

SQL Update语句的理解

开发技术 开发技术 3天前 4次浏览

在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

程序员灯塔
转载请注明原文链接:SQL Update语句的理解
喜欢 (0)