2011-07-12 5 views

Répondre

6

Non.

Vous pouvez uniquement faire un UPDATE ou un INSERT dans un seul tableau à la fois.

Si vous devez faire des multiples, vous pouvez les enfermer dans une transaction pour vous assurer qu'ils passent tous ou échouent ensemble, cependant:

BEGIN TRY 
BEGIN TRAN 

UPDATE Table1 
SET Col1=Value1 

UPDATE Table2 
SET Col2=Value2 

COMMIT TRAN 
END TRY 
BEGIN CATCH 
IF @@TRANCOUNT>0 ROLLBACK 
<error message reporting here> 
END CATCH 
+0

Vous avez également besoin d'une certaine forme de gestion des erreurs - sinon, s'il y a une erreur dans la première mise à jour, elle est signalée, puis elle va de l'avant et effectue la deuxième mise à jour et valide la transaction. –

+0

@Damien - vrai, je ne l'ai pas ajouté. Je vais jeter un peu là-bas dans un instant. – JNK

+0

(Il suffit de cliquer sur Modifier pour déplacer les deux premières lignes de code dans un bloc de code) –

1

Pas possible, sauf si vous utilisez des déclencheurs sur la table sous-jacente

Questions connexes