sqlserver更新语句算法
假设我有两张桌子 表1: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在更新多行中的值时使用的任何算法。如果多
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中的行
您可能更需要一个特定的输出,而不是一个解释。这是什么?你可能更需要一个具体的输出,而不是一个解释。这是什么?你可能更需要一个具体的输出,而不是一个解释。是什么