CREATE PROCEDURE pAppRepair
AS
BEGIN
Set NOCOUNT ON; --不返回计数,提高处理速度
Set XACT_ABORT ON; --如果出错,会将transcation设置为uncommittable状态
Begin Tran
DECLARE @FN VARCHAR(200) --文件名
DECLARE @RN INT --记录号
DECLARE @XM VARCHAR(200) --姓名
DECLARE @LXDH VARCHAR(200) --联系电话
DECLARE @BBZS INT --本表总数
DECLARE @BBQC INT --本表去重
DECLARE @GLQC INT --关联去重
DECLARE @BBYS INT --本表余数
DECLARE @YS INT --余数
SELECT TOP 1 @FN = FILEID FROM tAppInfo;
SELECT @BBZS = COUNT(*) FROM tAppInfo;
-- 本表按姓名去重
DELETE FROM tAppXM;
DECLARE XM_CURSOR CURSOR FOR SELECT RECNO,XM,LXDH FROM tAppInfo
OPEN XM_CURSOR
FETCH NEXT FROM XM_CURSOR INTO @RN,@XM,@LXDH
WHILE @@FETCH_STATUS = 0
BEGIN
if not exists (select * from tAppXM where xm=@xm)
INSERT INTO tAppXM VALUES (@FN,@RN,@XM,@LXDH)
FETCH NE
SQL Server 去重处理
最新推荐文章于 2024-08-02 21:18:55 发布
这是一个SQL Server存储过程,用于处理数据表中的重复记录。首先,它创建临时表以存储姓名和联系电话,然后通过游标分别按姓名和联系电话去重。接着,它对比总表进一步去重,并更新去重结果到总表中。最后,删除原始表中的重复记录,并记录去重统计信息。
摘要由CSDN通过智能技术生成