在SQL 中同一逻辑阶段的操作是同时发生的。

先有一个例子做为带入:

declare @x as int =1;
declare @y as int =2;
set @x=@y;
set @y=@x;
select @x,@y;
go 

-- 最后select 的结果是 x=2、y=2!这个结果在大家看来、来的是这么的理直气壮。

那么好我们看一下一个。这次我不把x,y 保存在变量里而是保存到表里。

create table t(x int,y int);

insert into t(x,y) values(1,2);

update t set x=y,y=x;

select x,y from t;

-- 这次得到的结果是2,1!也就是我们说的在SQL同一逻辑阶段中所有的操作是同时发生的。

相关文章:

猜你喜欢
相关资源
相似解决方案