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

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

/*******

假设你要处理的表名是: 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

/**

要实现以上过程在指定时间内执行

可以用数据库的管理中的作业作实现,很简单,这里不详述了

希望这个方法对你有用

**/

什么数据库的?

出现重复有可能是几种情况

1、你insert语句中本身数据就不对,有重复值。

2、如果执行多次,应该是前几次数据没清理掉。

这个要具体看代码,凭你一个题目无法判断是什么情况


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6685516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存