0

我有以下查询。我要做的是根据给定 Id 的 DetailTbl 中的值更新 HeaderTbl 中的 Type 字段。

update HeaderTbl
set HeaderTbl.Type = DetailTbl.Type
from HeaderTbl 
join DetailTbl on HeaderTbl.Id = DetailTbl.Id

对于一个 HeaderTbl id,可以有多个 DetailTbl Id。

假设给定的 Id(假设 Id=5)我们在 DetailTbl 中有 7 个 Id=5 的 Id。使用上面的查询,它将点击 HeaderTbl 7 次并更新它 - 对吗?将坚持的结果将是最后的第 7 个,对吗?

我正在做一个大的更新,所以只是想确保我不会忽略任何东西。

4

1 回答 1

1

每行的更新将只进行一次。您可以使用“实际执行计划”或使用 OUTPUT 子句来查看这一点。如果在 DetailTbl table for ID 中 Type 列有多个不同的值,则结果不确定。

http://sqlfiddle.com/#!3/82363/1

于 2012-10-11T16:14:01.767 回答