[英]Change Increment value for Identity - SQL Server 2005
我想更改數據庫中IDENTITY列的增量值,但有以下限制:
解決方案是刪除表並使用更改的增量值重新創建表。 我不知道語法。
您能否建議語法或其他最佳解決方案?
提前致謝!
如果我根據您對我的評論的回答正確地理解了您,則將orig表的數據備份到temp表中,然后刪除了orig表,並希望重新創建orig表。
在這種情況下,您需要IDENTITY_INSERT
設置ON
和OFF
,因為表的標識是唯一的。
語法為:
SET IDENTITY_INSERT [TableName] ON -- set to on
-- Put your insert statement here
-- insert the data from backed up temp table to your new table
SET IDENTITY_INSERT [TableName] OFF -- set to off
如果您可以接受重新創建表,那么重新創建表的語法就毫無魔力。
CREATE TABLE temp_Table
(
-- Identity column with new settings
-- other columns
);
INSERT INTO temp_Table
SELECT -- Columns except identity column
FROM old_table;
DROP TABLE old_Table;
EXEC sp_rename 'temp_Table', 'old_Table';
但是,您必須自己處理外鍵。
創建表后無法更改標識列。
而是使用以下命令重置SEED值。
DBCC CHECKIDENT('tablename', RESEED, 15)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.