利用IDENTITY()函式重新為列生成序列

kitesky發表於2005-05-26

假設有個表table_tmp(id, name, info),其資料中id值隨有一定順序但並不是按序列排列,現在想讓其id列按序列重新生成。可以使用以下辦法:

[@more@]

1、select IDENTITY(int, 1, 1) as id, name, info into my_table from table_tmp
     使用IDENTITY()函式為id生成從1開始的序列,並且把資料插入到新表my_table中。
2、truncate table table_tmp or delete from table_tmp
     刪除掉原表資料
3、select * into table_tmp from my_table
     把新資料新增回原表,如果原表的id是identity型別,則注意使用SET IDENTITY table_name ON
4、drop table my_table
     刪除掉中間表

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/66009/viewspace-799246/,如需轉載,請註明出處,否則將追究法律責任。

相關文章