说,如果我有以下t-SQL语句(旨在在SQL Server 2008上运行):
UPDATE tbl
SET col1 = (
SELECT MAX(col1) FROM tbl AS t1 WHERE t1.type = tbl.type
);
在这种情况下SELECT的工作原理如何:
它选择考虑每个UPDATE的结果,或
它从UPDATE开始更新记录之前的tbl中选择。
有人可以为我澄清这个吗?
答案 0 :(得分:4)
2!您的子查询SELECT在UPDATE进行任何更改之前拉取所确定的值。
答案 1 :(得分:-2)
是1
1。 它选择考虑每个UPDATE的结果,或