Base donnée : SQL2000
Ma table "test" a comme clés primaire "Numtest"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
UPDATE test SET valeurcol=0 WHERE Numtest IN(42458, 42488, 42489)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
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.
Pourtant, je n'ai pas de sous-Requête ici !!!
J'ai aussi essayé cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
CREATE TABLE #t(x INT)
INSERT into #t(x) select Numtest from test  WHERE Numtest  IN(42458, 42488, 42489)
UPDATE test  SET valeurcol=0 from #t as t WHERE t.x=test.Numtest
L'Insert fonctionne ! pas l'update