首页 > 数据库技术 > 详细

MS SQL Server - How to change an existing column to auto-increment column

时间:2015-03-27 07:40:41      阅读:285      评论:0      收藏:0      [点我收藏+]

/* BY Dylan SUN*/

In SQL server when you want to make an existing column to be auto-incremented.

The following code is not working:

ALTER TABLE [dwh].[ExchangeRate]
ALTER COLUMN [ExchangeRateId] Int Identity(1, 1)

What you could do is :
- Create a new column with auto-increment
- Delete existing column constraint
- Delete the existing column
- Rename the new column back
- Add deleted constraint

Step 1: Create a new column

ALTER TABLE [dwh].[ExchangeRate]
ADD [ExchangeRateId2] Int Identity(1, 1)

Step 2: Delete existing constraint

ALTER TABLE [dwh].[ExchangeRate]
DROP CONSTRAINT [IxExchangeRate_ExchangeRateId_U_NC_]

Step 3: Delete existing column

ALTER TABLE [dwh].[ExchangeRate]
DROP COLUMN [ExchangeRateId]

Step 4: Rename new column

Exec sp_rename ‘dwh.ExchangeRate.ExchangeRateId2‘, ‘ExchangeRateId‘,‘COLUMN‘

Step 5: Add deleted contraint

ALTER TABLE [dwh].[ExchangeRate] ADD  CONSTRAINT [IxExchangeRate_ExchangeRateId_U_NC_] PRIMARY KEY CLUSTERED 
(
[ExchangeRateId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]

MS SQL Server - How to change an existing column to auto-increment column

原文:http://blog.csdn.net/garcon1986/article/details/44670553

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!