Sql-Server
將 auto_increment 重新設置為特定數字?
是否可以將表的標識列設置為從特定值開始?
我正在將 ETL 階段從 mysql 轉換為 sql server 數據庫,其中暫存數據庫從主數據庫中的最大值開始載入具有唯一 ID 的記錄(這不是自動遞增的)。mysql是這樣的:
SET @s = Concat('alter table table_1 auto_increment=',coalesce(@indexmaxt,0)+1);
理想情況下,這就是我想要做的:
DBCC CHECKIDENT (table_1 , RESEED, @indexmaxt+1)
在 SQL Server 中這是可能的還是不可能的
這行得通,這能回答你的問題嗎?
create table dbo.test (id int identity(1,1), value int); declare @indexmaxt int = 9999,@indexmaxt2 int; SET @indexmaxt2 = @indexmaxt+1; DBCC CHECKIDENT ('dbo.test' , RESEED, @indexmaxt2); insert into dbo.test(value) values(1); select * from dbo.test;
結果:id 10000
值 1