2009-01-26 12 views
1

Je suis un utilisateur SQL débutant (pas formellement formé, uniquement OJT) et j'ai besoin d'aide avec une instruction de mise à jour simple. Je voudrais écrire une déclaration de mise à jour qui me permet de lister les identifiants. La déclaration ci-dessous est la façon dont je suis en train de l'écrire. Idéalement, la déclaration me permettrait d'écrire comme « où plantunitid dans (49-57). Est-il possible de le faire? Merci pour toute l'aide fournie.Instructions de mise à jour

mise à jour plantfunctiontable set hors service = 1 où plantunitid en (49,50,51,52,53,54,55,56,57)

Répondre

5

ce travail peut?

update plantfunctiontable set decommissioned=1 where plantunitid between 49 and 57 
+0

vous me devança ... – Eppz

+0

Didon. +1 pour la vitesse. –

1

cela devrait fonctionner comme cela est.

Ou vous pouvez le faire comme

Update planfunctiontable set decommissioned = 1 where plantunitid between 49 and 57 

en supposant que votre gamme sera toujours séquentielle (1,2,3 .... 7,8,9)

2

Vous pouvez utiliser

Where plantunitid >= 49 AND plantunitid <= 57 

OU

Where plantunitid BETWEEN 49 and 57 
0

essayer

Update plantfunctiontable 
SET decommissioned = 1 
WHERE plantunitid >= @startID 
AND plantunitid <= @endID 

où @startID et @endID sont vos paramètres d'instructions. espérons que cela aide

1

Seulement si c'est séquentiel, pouvez-vous utiliser cela.

UPDATE plantfunctiontable 
    SET decommissioned = 1 
WHERE plantunitid BETWEEN 49 AND 57 

Si non séquentielle, votre requête d'origine fonctionne très bien

UPDATE plantfunctiontable 
    SET decommissioned = 1 
WHERE plantunitid IN (49, 50, 51, 52, 53, 54, 55, 56, 57)