1. 程式人生 > >刪除表中重複記錄

刪除表中重複記錄

 1BeginTran LazyBee
 2declare@tmpTable 3(lLIstHeader_id int,lEncounter_id int,dtLastUpdate_dt datetime,
 4 sLastUpdate_id char(10),iConcurrency_id int)
 5
 6Insert@tmp(lLIstHeader_id,lEncounter_id,dtLastUpdate_dt,sLastUpdate_id,iConcurrency_id)
 7select lListHeader_id,lEncounter_id,dtLastUpdate_dt,sLastUpdate_id,iConcurrency_id  
 8from lstHeaderencounter
 9 groupby lListHeader_id,lEncounter_id,dtLastUpdate_dt,sLastUpdate_id,iConcurrency_id 
10havingcount(*)>111
12delete lstHeaderencounter from@tmp d 
13where d.lListHeader_id=lstHeaderencounter.lListHeader_id and14      d.lEncounter_id=lstHeaderencounter.lEncounter_id
15
16insert
 lstHeaderencounter(lLIstHeader_id,lEncounter_id,dtLastUpdate_dt,sLastUpdate_id,iConcurrency_id)
17select lListHeader_id,lEncounter_id,dtLastUpdate_dt,sLastUpdate_id,iConcurrency_id 
18 from@tmp19
20if@@error<>021Begin22     print'roll back'23     RollBackTran LazyBee
24  End25else26Begin27   print'
Success'28     CommitTran LazyBee
29  End30