2017-03-07 76 views
0

根據30,020序列號,一個表中有30,020項。 但我跳過了第30001個序列號 我必須寫更新聲明來填充第30001個項目,項目總數將變爲30,019跳過序列號的更新聲明

給我一個更新聲明的建議..!

+2

請出示至少一些表結構或這讓我們能夠理解這個問題。 –

+0

'row_number()over(order by sn)'或'set sn =(從T t2選擇count(*),其中t2.sn <= T.sn)...' – shawnt00

+0

不信任並依賴於id的like那。 – jarlh

回答

0

這是非常危險的勾搭上無間隙的序列號,但如果你必須

update your_table 
set serial_number = serial_number - 1 
where serial_number > 30000 
/

你會希望得到的行數更新= 19