2014-06-17 98 views
0

我有表像SELECT INTO SQL

OldTbl

ID Name Age 
12 name1 15 
544 name2 15 
2544 name3 15 

我需要個ID像這樣使用查詢(ID是主鍵)

ID Name Age 
1 name1 15 
2 name2 15 
3 name3 15 

任何想法?

回答

4

您可以在查詢做到這一點:如果你想更新表

select row_number() over (order by id) as id, name, age 
from table t; 

,然後執行:

with toupdate as (
     select row_number() over (order by id) as new_id, t.* 
     from table t 
    ) 
update toupdate 
    set id = new_id; 
+0

我可以用它在選擇Insert命令狀 \t INSERT INTO NewTbl \t \t \t(ID \t \t,名稱 \t \t,年齡) \t選擇 \t \t ID \t \t,名稱 \t \t,年齡從 OldTbl – Peter

+0

是的,你可以在第一次查詢前加上'insert'。 –

+0

謝謝,它解決了 – Peter