La mise à jour de plusieurs valeurs dans une colonne
J'ai le SQL suivant que j'ai écrit pour une mise à jour des tables de valeurs:
Update Table
SET S_Type = 'Versus'
Where S_Type = 'REGULAR'
SET S_Type = 'Free'
Where S_Type = 'CASH';
Mon SQL est plutôt rouillé, et mon collègue m'a dit quelque chose avec elle, mais ne me dites pas que!
La seule chose qui vient à l'esprit est que je n'ai pas fait référence à la Table.Colonne dans le jeu et Où le code.
Est-il un problème de mise à jour d'une colonne en tant que tel? Quelles sont les bonnes pratiques lors de la mise à jour d'une colonne pour plusieurs valeurs?
Acclamations
- Votre collègue a raison. Vous ne pouvez pas utiliser
Set
deux fois dans la mêmeUpdate
. Suivre podiluska de réponse, ou d'écrire deuxUpdate
s, une pour chaque valeur que vous souhaitez remplacer.
Vous devez vous connecter pour publier un commentaire.
Ici , nous utilisons l'instruction du cas et le résultat de la recherche comme de la clause where :
Êtes-vous à l'aide de SQL Server? Si vous utilisez 2012 vous pouvez maintenant écrire simplifié conditionnelle de mise à jour des déclarations à l'aide de la nouvelle CHOISIR ou IIF e.g:
Mes deux centimes de la valeur.