如何在临时 table 中存储 table 行
How to store table rows in a temp table
我有一个 table 大约有 600000 条记录。我想重新播种此 table 的身份列。这是我的计划:
- 将此 table 的内容存储在临时 table
中
- 删除此table中的所有记录
- 重新植入身份
- 将来自那个临时 table 的记录插入到这个
那么如何将这个 table 存储到临时文件中?
如果幕后没有别的东西,那么试试这个:
SET IDENTITY_INSERT TABLE_NAME ON
GO
UPDATE CTE
SET ID = RN
FROM
(
SELECT ID, ROW_NUMBER() OVER(ORDER BY ID) AS RN
FROM TABLE_NAME
) AS CTE
SET IDENTITY_INSERT TABLE_NAME OFF
GO
DBCC CHECKIDENT('TABLE_NAME', RESEED, 600001)
GO
我有一个 table 大约有 600000 条记录。我想重新播种此 table 的身份列。这是我的计划:
- 将此 table 的内容存储在临时 table 中
- 删除此table中的所有记录
- 重新植入身份
- 将来自那个临时 table 的记录插入到这个
那么如何将这个 table 存储到临时文件中?
如果幕后没有别的东西,那么试试这个:
SET IDENTITY_INSERT TABLE_NAME ON
GO
UPDATE CTE
SET ID = RN
FROM
(
SELECT ID, ROW_NUMBER() OVER(ORDER BY ID) AS RN
FROM TABLE_NAME
) AS CTE
SET IDENTITY_INSERT TABLE_NAME OFF
GO
DBCC CHECKIDENT('TABLE_NAME', RESEED, 600001)
GO