沈阳营销型网站建设 网站优化 seo优化 网络营销 就选鸣扬网络
13190013541
首页 关于我们 成功案例 网站建设 SEO优化 全网营销 新闻资讯 联系我们
 

嵌套游标的方式来删除表中重复的数据

日期:2012年09月03日 来源:沈阳鸣扬网络(www.cheeme.com)

 

处理思路:
写一存储过程,使用游标嵌套,读取所有数据,然后依次判断排除,将有重复的ID放入以逗号分开的字符串中,最后使用delete语句批量删除。
以下是具体实现sql语句:

批量删除表中重复数据[www.cn-web.com]

--删除数据库中某表的重复的数据
--作者:老韩,支持:cn-web.com
--要删除的表名为:WeiXianYuanXinXTJ
--判断是否重复的依据为ZhuBiaoLeiXing,qiyeid,zhubiaoxuhao这三个字段一样
--表的主键字段为id

declare @ZhuBiaoLeiXing varchar(400),@qiyeid varchar(4000),@zhubiaoxuhao varchar(4000), @idid varchar(40)
declare @ZhuBiaoLeiXing2 varchar(400),@qiyeid2 varchar(4000),@zhubiaoxuhao2 varchar(4000),@idid2 varchar(40)
declare @idids varchar(8000)
declare @idids2 varchar(8000)
declare @tmpsql nvarchar(4000)
declare @tmpbool int
set @idids='0'
set @idids2='0'
declare cur_tabA cursor for select ZhuBiaoLeiXing,qiyeid,zhubiaoxuhao,[id] from WeiXianYuanXinXTJ 
open cur_tabA
 fetch next from cur_tabA into @ZhuBiaoLeiXing,@qiyeid,@zhubiaoxuhao,@idid
 while @@FETCH_STATUS = 0
 begin
  set @tmpbool=0
  set @tmpsql='declare dur_tabA cursor for select ZhuBiaoLeiXing,qiyeid,zhubiaoxuhao,[id] from WeiXianYuanXinXTJ where [id]<>@ididz and [id] not in ('+@idids+')'
   exec sp_executesql @tmpsql,N'@ididz varchar(40)',@ididz=@idid
   open dur_tabA
    fetch next from dur_tabA into @ZhuBiaoLeiXing2,@qiyeid2,@zhubiaoxuhao2,@idid2
     while @@FETCH_STATUS = 0
      begin
       if @ZhuBiaoLeiXing2=@ZhuBiaoLeiXing and @qiyeid2=@qiyeid and @zhubiaoxuhao2=@zhubiaoxuhao
       begin
        if @tmpbool=0
         begin 
         set @idids2=@idids2+','+@idid2+','+@idid
         end
         else
         begin
         set @idids2=@idids2+','+@idid2
         set @tmpbool=1
         end
       set @idids=@idids+','+@idid2
       end
      fetch next from dur_tabA into @ZhuBiaoLeiXing2,@qiyeid2,@zhubiaoxuhao2,@idid2
      end
   close dur_tabA
   deallocate dur_tabA

  fetch next from cur_tabA into @ZhuBiaoLeiXing,@qiyeid,@zhubiaoxuhao,@idid
 end
close cur_tabA
deallocate cur_tabA

declare @laohan_del nvarchar(4000)
set @laohan_del='delete  from WeiXianYuanXinXTJ where [id] in ('+@idids+')'
exec sp_executesql @laohan_del
以上在sql2000中测试通过
 


沈阳网站建设选择我们就没错,提供全套的一条龙网站建设和沈阳seo服务,网站维护终身免费,让您最大程度上拥有成功网站优势!网站地图 快速通道

 

 
·SEO站内优化有哪些手法[2018-07-17]
·如何降低网站改版对网站的影响[2018-07-17]
·seo网站建设前需要注意的优化点[2018-07-17]
·在做网站优化时网页的标题标签太[2018-07-17]
·做SEO时需要在每个网页标题加网站[2018-06-11]
·seosem是什么意思?[2018-06-11]
·史上最齐全关键词排名下降的原因[2018-06-11]
·老站优化长尾关键词的技术分享[2018-06-11]
·网站关键词11-50名快速进入首页的[2018-06-11]
·网站关键词排名怎么去优化到百度[2018-06-11]
·目标关键词定位核心思想[2018-06-11]
·做好这三点,为关键词优化减负![2018-06-11]
·网络营销之网站优化推广难点[2018-03-01]
·网站优化中SEO关键词密度到底多少[2018-03-01]
 
  公司的服务宗旨是:"用 诚心做好服务,用实力做好质量!
  地址:沈阳浑南新松浑南智慧产业园   版权所有:沈阳市鸣扬网络有限公司       手机:13190013541   网站地图  快速通道