我想知道当我使用重复行进行更新时会发生什么,例如:
Table 1:
Email StatusID Status
phil@gmail.com NULL
dome@yahoo.es 1 Busy
phil@gmail.com 2 Online
dome@yahoo.es NULL
Table 2:
Email Name RejectionStatusID RejectionStatus
dome@yahoo.es Dome 1
phil@gmail.com Phil 2
结果
Update Table2
SET RejectionStatusID = StatusID,
RejectionStatus = Status
FROM Table2 Inner Join Table1
ON Table2.Email = Table1.Email
我想知道哪个重复,为什么???不太确定!!!当然,我做了查询,知道发生了什么,但为什么?只想要一个解释...... 感谢。
EDITED: 这是一个例子,这是使用null值发生的事情!!!
答案 0 :(得分:0)
来自BoL https://msdn.microsoft.com/en-us/library/ms177523(v=sql.110).aspx
如果语句包含的FROM子句未以这样的方式指定,那么UPDATE语句的结果是未定义的,即只有一个值可用于更新的每个列事件,即UPDATE语句不是确定性的。