2017-04-05 57 views

回答

0

刪除將工作。但有時刪除的時間可能會成爲問題。如果必須截斷,可以執行以下操作:

  1. 從表中獲取最大值並將其存儲在變量中。
  2. 截斷表
  3. 補種同一性的可變值+ 1

下面是一個例子。

DECLARE @MaxID AS INT; 
SELECT @MaxID = MAX(ID) + 1 
FROM TableA; 

TRUNCATE TABLE TableA; 

DBCC CHECKIDENT ('dbo.TableA', RESEED, @MaxID); 

新插入到表中的現在將繼續以前的標識值。

Marius

0

使用DELETE似乎工作。

DECLARE @Tab TABLE (Id INT IDENTITY(1,1), Col VARCHAR) 
DECLARE @Num INT = 10, 
     @Count INT = 0 
WHILE @Count < @Num 
BEGIN 
INSERT @Tab 
VALUES('') 
SET @Count = @Count + 1 
END 
DELETE FROM @Tab 
INSERT @Tab 
VALUES ('') 
SELECT * 
FROM @Tab