我们的一位开发人员从一个表插入了几百万行到目标表。 他使用while循环进行了批量插入,现在目标表中大约有500万行重复。问题在于PK是标识列,而在插入时他没有这样做
SET IDENTITY_INSERT DBO.TABLE_NAME ON
因此,表中现在有重复的条目,具有不同的标识列值。
如果我按如下所示进行分组:
group by COL2,COL3,COL4,COL5,COL6,COL7
我可以获得唯一的一行。
有人可以帮我创建脚本来删除重复的记录吗?
答案 0 :(得分:0)
根据表的最终不同记录创建#temp
表。之后,从表中删除所有具有重复id
的记录。
此后,您可以使用此#temp
表在现有表中重新输入该记录。
set identity insert on/off
由您决定。
用于提示搜索checkident
。