2009-06-10 5 views

Répondre

8

Oui. L'opération de mise à jour se produira uniquement sur les lignes de table qui correspondent à la clause WHERE. Pensez-y puisque la clause WHERE sélectionne les lignes suivies de la clause SET qui met à jour ces lignes sélectionnées.

4

Juste pour être clair, vous ne devez faire

UPDATE [MyTable] 
SET [SomeField] = 1 
WHERE [SomeField] is NULL 

que la clause where ne sert qu'à réduire la portée de la mise à jour est appliquée.

Il semble que vous ayez des connaissances en développement sur le SQL, alors un conseil que vous pourriez trouver utile est d'essayer vos opérations au sein d'une transaction. De cette façon, vous pouvez annuler les erreurs que vous commettez et affiner le SQL sur lequel vous travaillez.

Pour utiliser cette course

BEGIN TRAN 

avant d'exécuter la commande que vous voulez tester, puis

ROLLBACK TRAN 

d'annuler, ou

COMMIT TRAN 

pour le rendre permanent

Questions connexes