使用INNER JOIN更新SQL Server中的多个表

前端之家收集整理的这篇文章主要介绍了使用INNER JOIN更新SQL Server中的多个表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to update two tables in one statement in SQL Server 2005?7个
我正在使用sql Server,并尝试使用sql一次更新多个表与一个查询

以下查询

update table1
set A.ORG_NAME =  @ORG_NAME,B.REF_NAME = @REF_NAME
from table1 A,table2 B
where B.ORG_ID = A.ORG_ID
and A.ORG_ID = @ORG_ID

给出错误信息:

The multi-part identifier “A.ORG_NAME” could not be bound.

错误信息是什么意思?

解决方法

您不能在单个语句中更新该表,但是您得到的错误消息是由于别名,您可以尝试以下方式:
BEGIN TRANSACTION

update A
set A.ORG_NAME =  @ORG_NAME
from table1 A inner join table2 B
on B.ORG_ID = A.ORG_ID
and A.ORG_ID = @ORG_ID

update B
set B.REF_NAME = @REF_NAME
from table2 B inner join table1 A
    on B.ORG_ID = A.ORG_ID
    and A.ORG_ID = @ORG_ID

COMMIT
原文链接:https://www.f2er.com/mssql/75970.html

猜你在找的MsSQL相关文章