需要在UPDATE t-SQL语句中对SELECT进行一些说明

时间:2012-07-20 08:28:18

标签: sql sql-server tsql sql-update

说,如果我有以下t-SQL语句(旨在在SQL Server 2008上运行):

UPDATE tbl
SET col1 = (
    SELECT MAX(col1) FROM tbl AS t1 WHERE t1.type = tbl.type
);

在这种情况下SELECT的工作原理如何:

  1. 它选择考虑每个UPDATE的结果,或

  2. 它从UPDATE开始更新记录之前的tbl中选择。

  3. 有人可以为我澄清这个吗?

2 个答案:

答案 0 :(得分:4)

2!您的子查询SELECT在UPDATE进行任何更改之前拉取所确定的值。

答案 1 :(得分:-2)

是1

1。 它选择考虑每个UPDATE的结果,或