如何在SQL Server里面编写一个存储过程,来实现删除一个表中的重复记录?

问题描述:如何在SQLServer里面编写一个存储过程,来实现删除一个表中的重复记录,对于重复的记录只保留一条即可。再问,对于这个存储过程是否可以让SQLServer每次... 问题描述:如何在SQL Server里面编写一个存储过程,来实现删除一个表中的重复记录,对于重复的记录只保留一条即可。再问,对于这个存储过程是否可以让SQL Server每次启动时自动来运行呢,或者是配置成定时来自动运行?因为,数据库中的数据是即时更新的,而且容易产生重复的记录,所以才想编一个可以自动运行的存储过程来过滤表中的重复数据。

不知我的描述是否清楚,请大家帮忙指教一下,谢谢!
因为我的数据量非常大,在提交每条数据之前都判断是否有重复的记录的话,那么程序执行起来很慢
展开
 我来答
anliou
推荐于2016-03-24
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
/空族亮*******
假设你要处理的表名是: pludetail
可以用以下过程来实现,速度不在下面过程的考虑之中
*********/
create procedure distinct_deal
as
begin

begin transaction

select distinct * into #tempdel from pludetail --提取无重复的记录到临时表中

truncate table pludetail --清掉原表

insert pludetail
select * from #tempdel --把临时表中无重复的数据插回原表
drop table #tempdel

if @@error<>0
begin
raiserror('数据处理失败!',16,-1)
goto error_deal
end

commit transaction
return
error_deal:
rollback transaction
return

end

/**

要实现以斗宽上过程在指定时间内执行
可以用数据库的管理中的作业作实现,很简单,这里不详述了
希望这个方法对你有用穗简

**/
百度网友5059b1f71
2007-01-10 · TA获得超过312个赞
知道小有建树答主
回答量:616
采纳率:0%
帮助的人:420万
展开全部
开始执行或者开始执行的时间,以前做过,但是现在忘记了,集中搂住的重复问题
解决搂住的问题有三种方法,第一个是使用渣芹游标,因为数据量大,手蔽所以排除,第二种是判断删除,也因为数据量大,排除,现在使用批量处理的方法,希望对搂住有些帮助,(简单的写一下,楼主自己完善)0
create proc ss
as
begin
--插入临时表
select zi(省略其他字段.....)
into #aa
from biao
group by
zi(.....)
--删除标的数据
delete from biao
--重新插入
insert into
biao
from
#aa
--事务处理如薯毕(这一步很必要,否则删除后没有会滚,后果不堪设想)
if @error<>0 goto ER
commint transaction
end
ER:
print 'error'
rollback transaction
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iq...t@163.com
2007-01-10 · TA获得超过126个赞
知道答主
回答量:198
采纳率:0%
帮助的人:158万
展开全部
用一个临时慎伏坦表记录一条你需要删除宽桐其重复项的记录, 然后用DELETE删除表里面的记录后再厅裤INSERT回去。
具体CREATE PROCEDURE可以看MYSQL\DOCS\MANUAL.CHM
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shg2ff
2007-01-10 · TA获得超过6326个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:9757万
展开全部
如果是我,纯差余我就会偷懒:
用access连接sql
用access的自动生做滚成的查找重复项查询
然后庆伏删除
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真空龙卷风
2007-01-10 · TA获得超过3124个赞
知道大有可为答主
回答量:1655
采纳率:100%
帮助的人:688万
展开全部
我觉得没有必要,只需要在提交的时候插入一个查找虚码命令看是否有相同的数据差唯哪存在,然后禁止插入数山陪据就可以了阿!何必这么麻烦呢???
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式