0
我使用截斷功能刪除表中的所有記錄的SQL Server 2014,但現在此表上的新記錄開始PK 1.刪除從SQL Server記錄,但不進行重置PK
有沒有一種辦法不重置主鍵,以便新記錄從最後一次PK + 1開始?
我使用截斷功能刪除表中的所有記錄的SQL Server 2014,但現在此表上的新記錄開始PK 1.刪除從SQL Server記錄,但不進行重置PK
有沒有一種辦法不重置主鍵,以便新記錄從最後一次PK + 1開始?
刪除將工作。但有時刪除的時間可能會成爲問題。如果必須截斷,可以執行以下操作:
下面是一個例子。
DECLARE @MaxID AS INT;
SELECT @MaxID = MAX(ID) + 1
FROM TableA;
TRUNCATE TABLE TableA;
DBCC CHECKIDENT ('dbo.TableA', RESEED, @MaxID);
新插入到表中的現在將繼續以前的標識值。
Marius
使用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
我相信'TRUNCATE'重置身份。也許你可以使用'DELETE'語句。 – BJones