我需要将信息从表格的一行复制到另一行。我注意到我可以执行以下操作:
update address
set col1 = a2.col1,
col2 = a2.col2,
.....etc
from address a1, address a2
where a1.id = @to and a2.id = @from
但是,上面的 SQL 似乎有点模棱两可。
我怎么知道它将使用 @from 的数据更新行 @to 而不是相反?
编辑:注意:虽然我没有进行广泛的测试,但当我针对我们的开发数据库进行尝试时,这个查询似乎确实有效。它只是用@from 行的结果更新一个@to 行。
为了减少歧义,您可以在 set 子句中添加别名。(摘自评论中的孔夫子,他没有提交答案。)