|
|
|
| 网站建设类 www.21it.com 时间:2008-12-26 15:07:18 |
处理思路:
写一存储过程,使用游标嵌套,读取所有数据,然后依次判断排除,将有重复的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中测试通过
|
|
|
|
|
 |
| 程序开发 |
| 世纪网络专业应用系统开发,帮助客户建立业务管理系统、员工管理系统、办公自动化系统等,提高工作效率,提高生产力。 |
 |
|
| 网站推广 |
| Baidu百度作为全球最大的中文搜索引擎,是国内用户最常使用搜索引擎。实践证明,其竞价排名是目前为止效果最好,投资回报最高的网络推广服务。 |
 |
|
 |
|
|