Mises à jour simultanées sur plusieurs tables SQL Server
La mise à jour directe de plusieurs tables au sein d'une seule instruction SQL n'est pas prise en charge dans SQL Server 2005. Cependant, vous pouvez réaliser des mises à jour atomiques sur plusieurs tables en encapsulant vos instructions UPDATE dans une transaction.
Illustrons cela avec un exemple. Supposons que nous devions mettre à jour LastName
dans Table1
et WAprrs
dans Table2
où la colonne id
correspond à une valeur spécifique. Cela peut être accompli en utilisant le bloc de transaction suivant :
<code class="language-sql">BEGIN TRANSACTION; UPDATE Table1 SET LastName = 'DR. XXXXXX' FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id = T2.id WHERE T1.id = '011008'; UPDATE Table2 SET WAprrs = 'start,stop' FROM Table1 T1 INNER JOIN Table2 T2 ON T1.id = T2.id WHERE T1.id = '011008'; COMMIT TRANSACTION;</code>
Il est crucial de se rappeler que la déclaration COMMIT TRANSACTION
est essentielle. Cela garantit que les deux instructions UPDATE se terminent ensemble avec succès ou échouent toutes les deux, préservant ainsi l'intégrité des données et évitant les incohérences qui pourraient survenir si une seule mise à jour réussissait. L'utilisation de la syntaxe JOIN
explicite est également préférable pour des raisons de clarté et d'efficacité par rapport aux jointures implicites.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!