2010-12-14 71 views
0

不同數字範圍例如與替換數字的範圍與SQL

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

分別替換

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

。基本上,我想用數字替換數字,但對於多個項目而不寫每個項目的更新語句。

例子:

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** 

我怎樣寫上面的語句更新序列多TRANSACTIONID?

回答

0

不是100%確定我明白你想要達到的目標。你想要做這樣的事嗎?

declare @offset int 
set @offset = 94 

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

試試這個:

UPDATE BatchItem SET TransactionId = TransactionId + 94 

UPDATE

這似乎是@喬的回答了 「快速和骯髒」 的版本。我會留下它,以防萬一你發現它比他的答案更容易混淆......

+1

你是說我迷惑人嗎? :-) – 2010-12-14 21:54:46

+1

你是什麼意思?我不明白... – 2010-12-14 21:56:19

+0

安倍,你的SQL語句確實有道理,但它並沒有完成我的工作。我認爲你的發言確實給了我一個主意。實際上,我在SQL transactionID中查找和替換,並且所有的transactionID都是按順序排列的。 – nick 2010-12-14 22:47:13