刪除表中重複記錄
阿新 • • 發佈:2019-01-10
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
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
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
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'
29 End30