2010-12-14 6 views
0

Par exemple remplacerRemplacer une plage de nombres avec différentes gammes de numéros dans SQL

TransactionID 
-------- 
1 
2 
3 

avec

TransactionID 
-------- 
95 
96 
97 

respectivement. Fondamentalement, je veux remplacer des nombres avec des nombres mais pour plusieurs articles sans écrire l'instruction de mise à jour pour chaque article.

Exemple:

Update BatchItem 
    set TransactionID = '95' 
    where BatchItemID = 12345**6** 


Update BatchItem 
    set TransactionID = '96' 
    where BatchItemID = 12345**7** 


Update BatchItem 
    set TransactionID = '97' 
    where BatchItemID = 12345**8** 

Comment puis-je écrire déclaration ci-dessus pour mettre à jour plusieurs transactionID en séquence?

Répondre

0

Je ne suis pas sûr à 100% que je comprends ce que vous essayez d'accomplir. Est-ce que vous essayez de faire quelque chose comme ça?

declare @offset int 
set @offset = 94 

update BatchItem 
    set TransactionID = TransactionID + @offset 
    where BatchItemID = 123456 
0

Essayez ceci:

UPDATE BatchItem SET TransactionId = TransactionId + 94 

MISE À JOUR

Cela semble être la version "rapide et sale" de @ réponse de Joe. Je le laisserai au cas où vous le trouveriez moins confus que sa réponse ...

+1

Êtes-vous en train de dire que je trouble les gens? :-) –

+1

Que voulez-vous dire? Je ne comprends pas ... –

+0

Abe, votre déclaration SQL a du sens, mais elle ne fait pas mon travail. Je pense que votre déclaration me donne une idée. En fait, je fais find et replace dans SQL transactionID et tous les transactionID sont en séquence. – nick

Questions connexes