更新SQL Server 2008中的非主键字段

更新SQL Server 2008中的非主键字段,sql,Sql,MymainTable具有primaryCode列。这些代码不正确,需要根据updateCodes表进行更新。不正确的代码位于mainTable上的primaryCode列和updateCodes表上的primaryCode列中。descrip列是正确的版本。由于我不确定回滚是如何工作的,下面是我对解决问题的查询;我认为这是对的,但不确定 编辑:我的主表中的代码比这些代码多得多。这些只是需要更新的。我不知道这是否会影响查询 update mainTable set mainTable.prima

My
mainTable
具有primaryCode列。这些代码不正确,需要根据
updateCodes
表进行更新。不正确的代码位于
mainTable
上的
primaryCode
列和updateCodes表上的
primaryCode
列中。descrip列是正确的版本。由于我不确定
回滚
是如何工作的,下面是我对解决问题的查询;我认为这是对的,但不确定

编辑:我的主表中的代码比这些代码多得多。这些只是需要更新的。我不知道这是否会影响查询

update mainTable
set mainTable.primaryCode=update.descrip
from mainTable
inner join updateCodes on mainTable.primaryCode=updateCodes.descrip

像这样的怎么样:

UPDATE MainTable SET MainTable.primaryCode = UpdateCodes.descrip
FROM MainTable
INNER JOIN UpdateCodes 
ON MainTable.primaryCode = UpdateCodes.primaryCode
加入“错误”的值以获得更新的正确值