您现在的位置: 电子商务模式 >> 电子商务技术 >> 数据 >> [EB技术]正文  显示方式: 

如何在SQL Server中快速删除重复记录? - 骆驼刺的文章
http://tech.caneb.com/ 时间:2006-12-29 9:22:26 点击数:   电子商务模式[技术]频道 

今日不可不关注的电子商务技术资讯:

【文章简介】 我们有时候会碰到需要删除重复记录,一般实现删除重复记录可以写一段代码,用游标遍历,从而删除记录,但如果记录条数比较多,用游标的方法删除需要执行非常长的时间。一般情况下,我们会有两种情况的删除操作,一种是完全重复的记录,所有字段都重复的情况,另一种是部分关键字段重复的记录,其他字段不重复,或重复但可以忽略。第一种情况比较简单,可以使用如下的方法进行:selectdistinct*into#tmp

【文章正文】

        我们有时候会碰到需要删除重复记录,一般实现删除重复记录可以写一段代码,用游标遍历,从而删除记录,但如果记录条数比较多,用游标的方法删除需要执行非常长的时间。
        一般情况下,我们会有两种情况的删除操作,一种是完全重复的记录,所有字段都重复的情况,另一种是部分关键字段重复的记录,其他字段不重复,或重复但可以忽略。
        第一种情况比较简单,可以使用如下的方法进行:
           select distinct * into #tmp from tablename
        drop table tablename
        select * into tablename from #tmp
        drop table # tmp

 第二种情况比较麻烦,以下是一种比较简单的做法:
             创建一个和源表一模一样的表。
              可以这么创建:select top 1 * into TableTemp from table
                                     delete from TableTemp
              为该表增加索引,并忽略重复的项
                                    sql
               复制信息到临时表:
                     sql语句如下:insert into TableTemp Select * from table
               不重复的记录已经存在临时表了,接下来你只要清空源表,并把临时表记录导入源表,删除临时表即可。
这种错误出现的原因是数据库设计的时候缺少了约束关系,在创建数据库的时候只要简单的增加约束关系就可以避免这种错误!




关键词:数据库
阅读本站更多关于:“如何在SQL Server中快速删除重复记录? - 骆驼刺的文章”的文章>>>>
作者:骆驼刺的… 文章来源:CSDN
[EB技术]录入:北极星    责任编辑:北极星 

  窄告信息
电子商务辩论台
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
电子商务模式网站(www.CanEb.com)版权与免责声明:
① 本网转载其他媒体、网站文章是为传播更多的信息,此类文章不代表本网观点,也不对其真实性负责,本网不承担此类文章侵权行为的连带责任。
② 在本网论坛(BBS)博客(Blog)网络硬盘(WebDisk)上发表言论或上传、收藏文件者,责任自负。
③ 如您因版权等问题需要与本网联络,请在30日内联系 caneb_com@yahoo.com.cn
④ 凡本网原创文章(包括论坛、博客等),欢迎转载,但务必注明来自本网,且需注明引用网址。
焦点图片
今日博客
电子商务模式网站意见反馈留言板