清除脏数据的另一种方法

--将主表数据导入临时表中,包含工艺路线
select *,dbo.f_pd_GetRoutingDtl(RoutID) As 'RoutingDtl' into #TMPpdRouting from pdRouting
select * from #TMPpdRouting

--将明细表数据导入临时表中
select * into #TMPpdRoutingDtl from pdRoutingDtl
select * from #TMPpdRoutingDtl

--将正确的主表数据插入临时表中
Select ta.* Into #TMPpdRoutingOK From #TMPpdRouting ta,
 (Select Min(RoutID) As 'RoutID',RoutingDtl From #TMPpdRouting Group By RoutingDtl) tb
  Where ta.RoutID = tb.RoutID

--将正确的明细表数据插入临时表中
Select ta.* Into #TMPpdRoutingDtlOK From #TMPpdRoutingDtl ta,
 (Select Min(RoutID) As 'RoutID',RoutingDtl From #TMPpdRouting Group By RoutingDtl) tb
  Where ta.RoutID = tb.RoutID

--查看正确的数据,并将数据插入到原始表中
--主表
Insert Into pdRouting
 Select RoutID,RoutDesc,EnableDate,DisabledDate,GoodsID,
  FCheckFlag,FChecker,FCheckDate,OperatorID,InputDate,Remarks,TextDesc,RoutingTypeID,
  FAprovFlag,FAprover,FAprovDate,FVerifyFlag,FVerifyer,FVerifyDate,VDate,GoodsTypeID,
  ArtTypeID,ArtsRoutTypeID
   From #TMPpdRoutingOK
--明细表
Insert Into pdRoutingDtl Select * From #TMPpdRoutingDtlOK


--查看修改后的数据是否正确
Select Min(RoutID),dbo.f_pd_GetRoutingDtl(RoutID) As 'RoutingDtl' From pdRouting
 Group By dbo.f_pd_GetRoutingDtl(RoutID) Having Count(*) > 1

Select * From pdRouting
 

 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值