sqlserver更新语句算法

sqlserver更新语句算法,sql,sql-server,Sql,Sql Server,假设我有两张桌子 表1: ID NAME 1 'AAA' 2 'BBB' 表2: ID IDNAME 1 'CCC' 1 'DDD' 我必须更新第一个表值,因此我使用以下查询: UPDATE a SET a.name = b.IDname FROM table1 a JOIN table2 b ON a.ID = b.id 现在,我的问题是SQL Server如何更新表2中的值,因为表2中有两行ID=1 我需要解释和SQL Server在更新多行中的值时使用的任何算法。如果多

假设我有两张桌子

表1:

ID NAME
1  'AAA'
2  'BBB'
表2:

ID IDNAME
1  'CCC'
1  'DDD'
我必须更新第一个表值,因此我使用以下查询:

UPDATE a 
SET a.name = b.IDname 
FROM table1 a 
JOIN table2 b ON a.ID = b.id
现在,我的问题是SQL Server如何更新
表2中的值,因为
表2中有两行
ID=1


我需要解释和SQL Server在更新多行中的值时使用的任何算法。

如果多次更新同一行,则未定义哪些写入操作实际发生。不要这样做。

如果将同一行更新多次,则未定义实际发生的写入操作。不要这样做。

如果将同一行更新多次,则未定义实际发生的写入操作。不要这样做。

如果将同一行更新多次,则未定义实际发生的写入操作。不要这样做。

这是
非确定性更新的典型示例。当多个源行与一个目标行匹配时,语句是不确定的。不幸的是,在这种情况下,SQL server既不会抛出错误,也不会生成警告。SQL server以静默方式执行非确定性更新,其中一个源行任意
获胜。
您应该使用
Merge
语句,而不是基于联接使用
非确定性更新。

当多个源行与一个目标行匹配时,后者会生成一个错误,从而使总体条件
具有确定性

这是
非确定性更新的典型示例。当多个源行与一个目标行匹配时,语句是不确定的。不幸的是,在这种情况下,SQL server既不会抛出错误,也不会生成警告。SQL server以静默方式执行非确定性更新,其中一个源行任意
获胜。
您应该使用
Merge
语句,而不是基于联接使用
非确定性更新。

当多个源行与一个目标行匹配时,后者会生成一个错误,从而使总体条件
具有确定性

这是
非确定性更新的典型示例。当多个源行与一个目标行匹配时,语句是不确定的。不幸的是,在这种情况下,SQL server既不会抛出错误,也不会生成警告。SQL server以静默方式执行非确定性更新,其中一个源行任意
获胜。
您应该使用
Merge
语句,而不是基于联接使用
非确定性更新。

当多个源行与一个目标行匹配时,后者会生成一个错误,从而使总体条件
具有确定性

这是
非确定性更新的典型示例。当多个源行与一个目标行匹配时,语句是不确定的。不幸的是,在这种情况下,SQL server既不会抛出错误,也不会生成警告。SQL server以静默方式执行非确定性更新,其中一个源行任意
获胜。
您应该使用
Merge
语句,而不是基于联接使用
非确定性更新。
当多个源行与一个目标行匹配时,后者会生成一个错误,从而使总体条件
具有确定性

如果
UPDATE
语句包含一个
FROM
子句,而该子句的指定方式没有使更新的每个列出现只有一个值可用,即
UPDATE
语句是不确定的,则该语句的结果是未定义的。例如,在下面脚本中的
UPDATE
语句中,
Table1
中的两行都符合
UPDATE
语句中
FROM
子句的限定条件;但是未定义表1中的哪一行用于更新表2中的行

如果
UPDATE
语句包含一个
FROM
子句,而该子句的指定方式没有使更新的每个列出现只有一个值可用,即
UPDATE
语句是不确定的,则该语句的结果是未定义的。例如,在下面脚本中的
UPDATE
语句中,
Table1
中的两行都符合
UPDATE
语句中
FROM
子句的限定条件;但是未定义表1中的哪一行用于更新表2中的行

如果
UPDATE
语句包含一个
FROM
子句,而该子句的指定方式没有使更新的每个列出现只有一个值可用,即
UPDATE
语句是不确定的,则该语句的结果是未定义的。例如,在下面脚本中的
UPDATE
语句中,
Table1
中的两行都符合
UPDATE
语句中
FROM
子句的限定条件;但是未定义表1中的哪一行用于更新表2中的行

如果
UPDATE
语句包含一个
FROM
子句,而该子句的指定方式没有使更新的每个列出现只有一个值可用,即
UPDATE
语句是不确定的,则该语句的结果是未定义的。例如,在下面脚本中的
UPDATE
语句中,
Table1
中的两行都符合
UPDATE
语句中
FROM
子句的限定条件;但是未定义表1中的哪一行用于更新表2中的行


您可能更需要一个特定的输出,而不是一个解释。这是什么?你可能更需要一个具体的输出,而不是一个解释。这是什么?你可能更需要一个具体的输出,而不是一个解释。是什么