Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Mettre à jour plusieurs tables dans SQL Server à l'aide de INNER JOIN

Vous ne pouvez pas mettre à jour plus d'une table dans une seule instruction, mais le message d'erreur que vous obtenez est dû aux alias, vous pouvez essayer ceci :

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