sql 存储过程处理重复数据

gongchengjia gongchengjia 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有一个表A
销售订单测试查询
销售订单测试查询
销售订单测试查询
销售订单测试查询2
销售订单测试查询

往表b里面插数据,表A里名字相同的就加1,最后插入b表里的数据就如下图:
销售订单测试查询
销售订单测试查询1
销售订单测试查询3
销售订单测试查询2
销售订单测试查询4

那位高手加我QQ:指点一下哦,我的代码不知道怎么修改


ALTER proc CopyDate @CheckID nvarchar(4000)
as
begin
declare @FID nvarchar(4000)
set @FID=@CheckID
--插入数据
declare Print_Cursor CURSOR for select FBillTypeID,FName,FDesigner,FDate,FGUID,FSystem from ##temp where 1=1 and CHARINDEX(','+RTRIM(fid)+',',','+@FID+',')>0
open Print_Cursor
declare @FBillTypeID int,
@FName varchar(100),
@FDesigner int,
@FDate varchar(50),
@FGUID varchar(50),
@FSystem int,
@Fcount int
fetch next from Print_Cursor into @FBillTypeID,@FName,@FDesigner,@FDate,@FGUID,@FSystem
while @@fetch_status=0
begin--////
-----查询是否有同样GUID的数据存在
if not exists(select * from t_BC_PrintDesign where FGUID=@FGUID)
begin--///
----查询是否有同样方案的数据存在
while(1=1)
begin
if exists(select * from t_BC_PrintDesign where FName=@FName)--同方案名
begin--/
select @Fcount=count(*) from t_BC_PrintDesign where FName like @FName+'%'
set @FName=@FName+convert(varchar(100),@Fcount)
end--/
else--/
break
end--/
insert into t_BC_PrintDesign values(@FBillTypeID,@FName,@FDesigner,@FDate,@FGUID,@FSystem)
end--///
fetch next from Print_Cursor into @FBillTypeID,@FName,@FDesigner,@FDate,@FGUID,@FSystem
end--////
CLOSE Print_Cursor
DEALLOCATE Print_Cursor
end
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
gongchengjia
C# 111,129 成员 642,538 内容