参见英文答案 >
How to update two tables in one statement in SQL Server 2005?7个
我正在使用sql Server,并尝试使用sql一次更新多个表与一个查询:
我正在使用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