例如:
UPDATE Table1 SET Column1 = Column2, Column2 = Column3
这是否保证总是会导致这样的更新:
之前:
第1栏 | 第2栏 | 第3栏 |
---|---|---|
10 | 200 | 3000 |
之后:
第1栏 | 第2栏 | 第3栏 |
---|---|---|
200 | 3000 | 3000 |
快速实验表明它有效,但我在 MSDN 上找不到任何明确说明它有效的内容。
是的,结果会如你所愿。 SQL Server 将更新作为基于集合的操作执行,因此逻辑上更新会同时发生。人们甚至可以颠倒列顺序以获得相同的结果:
UPDATE Table1 SET Column1 = Column2, Column2 = Column3;
UPDATE Table1 SET Column2 = Column3, Column1 = Column2;