Ștergeți înregistrările duplicate din două baze de date

voturi
1

Am reușit să identifice înregistrările duplicat din două baze de date diferite:

select * from 
    taskperformance a,  taskperformance@dm_prod b
where 
    a.activityin = b.activityin
    and a.completiondate = b.completiondate

Cum pot șterge înregistrările duplicate de la b?

Am incercat:

delete taskperformance@dm_prod  where exist ( 
select * from 
    taskperformance a,  taskperformance@dm_prod b
where 
    a.activityin = b.activityin
    and a.completiondate = b.completiondate ) 

Dar șterge mai mult decât ceea ce am nevoie.

Întrebat 27/08/2009 la 02:17
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
2

Nu ar trebui să re-referință bîn interogarea secundară:

delete taskperformance@dm_prod b
where exists (
    select * from taskperformance a
    where a.activityin = b.activityin 
    and a.completiondate = b.completiondate 
)
Publicat 27/08/2009 la 02:25
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more