sql 存储过程处理重复数据

gongchengjia 2011-11-24 02:26:20
有一个表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
...全文
139 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
gongchengjia 2011-11-24
  • 打赏
  • 举报
回复
我想变成
销售订单测试查询
销售订单测试查询1
销售订单测试查询3
销售订单测试查询2
销售订单测试查询4
gongchengjia 2011-11-24
  • 打赏
  • 举报
回复
销售订单测试查询
销售订单测试查询
销售订单测试查询
销售订单测试查询2
销售订单测试查询

用我的存储过程,插入后出来的是
销售订单测试查询
销售订单测试查询1
销售订单测试查询2
销售订单测试查询21
销售订单测试查询3
gongchengjia 2011-11-24
  • 打赏
  • 举报
回复
高手,请问你QQ号是多少啊,我想请教一下,我现在有点脑袋涨,能不能指点一下
csdn_aspnet 2011-11-24
  • 打赏
  • 举报
回复

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧