标识列为PK的表中的记录重复

时间:2019-07-19 20:57:16

标签: sql-server group-by insert primary-key identity

我们的一位开发人员从一个表插入了几百万行到目标表。 他使用while循环进行了批量插入,现在目标表中大约有500万行重复。问题在于PK是标识列,而在插入时他没有这样做

SET IDENTITY_INSERT DBO.TABLE_NAME ON

因此,表中现在有重复的条目,具有不同的标识列值。

如果我按如下所示进行分组:

group by COL2,COL3,COL4,COL5,COL6,COL7

我可以获得唯一的一行。

有人可以帮我创建脚本来删除重复的记录吗?

1 个答案:

答案 0 :(得分:0)

根据表的最终不同记录创建#temp表。之后,从表中删除所有具有重复id的记录。

此后,您可以使用此#temp表在现有表中重新输入该记录。

set identity insert on/off由您决定。

用于提示搜索checkident