SQL Server : Erreur lors d’un update de plusieurs lignes en même temps.

« La sous-requête a retourné plusieurs valeurs. Cela n’est pas autorisé… »

Une commande UPDATE toute simple mettant à jour plusieurs enregistrements peut facilement dégénérer en une erreur fort intrigante.
Exemple :
UPDATE ma_table SET departement = 44 WHERE ville = ’Nantes’

SQL Server va renvoyer l’erreur suivante :

Msg 512, Niveau 16, �tat 1, Procédure reconduite_u, Ligne 14
La sous-requête a retourné plusieurs valeurs.
Cela n’est pas autorisé quand la sous-requête suit =, !=, <, <= , >, >= ou quand elle est utilisée en tant qu’expression.
L’instruction a été arrêtée.

Sans entrer dans les détails, il faut d’abord vérifier la présence d’un éventuel TRIGGER attaché à cette table. Il suffit de le désactiver pour que la commande UPDATE se passe bien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *