Mise à jour SQL si le paramètre n'est pas nul ou vide
J'ai cherché quelques façons de vérifier si un Serveur SQL server paramètre n'est pas null ou vide, mais je ne sais pas quelle est la meilleure façon d'utiliser cette option lorsque la mise à jour de plusieurs colonnes:
J'ai eu ce code à la première qui a été mise à jour sans vérification de vide ou de valeurs Null:
UPDATE [Users]
SET FirstName = @firstname, City = @city, Address = @address, ....
WHERE ID = @iduser
Puis j'ai ajouté un IF
clause avant la mise à jour, il fonctionne de cette façon mais je ne suis pas sûr si c'est la meilleure façon de le faire, ça va être long si je dois mettre plusieurs colonnes.
--Check if parameter is not null or empty before updating the column
IF (@firstname IS NOT NULL AND @firstname != '')
UPDATE [Users]
SET FirstName = @firstname
WHERE ID = @iduser
IF (@city IS NOT NULL AND @city != '')
UPDATE [Users]
SET City = @city
WHERE ID = @iduser
...
...
Si la valeur est Null ou Vide, je n'ai pas besoin de mettre à jour, il suffit de garder la valeur d'origine dans la base de données.
source d'informationauteur Alex | 2014-08-14
Vous devez vous connecter pour publier un commentaire.
pas sûr de ce que vous essayez d'atteindre si elle est vierge, mais je voudrais essayer en utilisant
IsNull()
je ne pense pas qu'il y est unIsBlank()
mais il ne devrait pas être trop dur à écrire vous-mêmeEn utilisant simplement
IsNull
votre requête devrait ressembler à quelque chose comme...cela permettra de mettre à Jour la ligne avec le param valeur si elles ne sont PAS nulles, sinon le mettre à jour lui-même, alias de ne rien changer.
Essayer ce code SQL natif, c'est le travail pour moi, très bien :
Mise à jour juste valeur NULL ou vide.