MS SQL Server,mssqlserver

來源:互聯網
上載者:User

MS SQL Server,mssqlserver

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.