更新数据

T-SQL支持标准的UPDATE 语句,用于更新表中的数据。T-SQL 也支持UPDATE 语句的一种非标准用法,在UPDATE 语句中使用联接和变量

1.UPDATE 语句

UPDATE 语句是标准的SQL 语句,用于对表中数据 行的一个子集进行更新。为了标识作为更新目标的子集行,须要在WHERE 子句中指定一个谓词。在SET 子句中指定要更改的列和这些列的新值(或表达式),各列之间用逗号分隔。

UPDATE dbo.OrderDetails

  SET discount=discount+0.05

WHERE productid=51;

注意:T-SQL 的“同时操作(all-at-once operation)”

2. 赋值 UPDATE

T-SQL 支持一种特有的UPDATE 语法,可以在对表中的数据进行更新的同时为变量赋值。

这种语法使你不须要使用单独的UPDATE 和SELECT 语句,就能完成同样的任务。

DECLARE @nextval AS INT;

UPDATE Sequence SET @nextval=val=val+1;

SELECT @nextval;

SET 子句中的赋值表达式从右向左执行,即首先把 val 的值设为 val+1,然后再把结果(val+1)赋值给变量@nextval。

使用这种特殊语法的UPDATE 语句是作为原子操作而运行的,因为它只须要访问一次数据,所以比使用单独的UPDATE 和SELECT 语句的效率要更高。

原文地址:https://www.cnblogs.com/zhangdx/p/3754247.html