Oracle Mükerrer Kayıt Bulma ve Silme

Oracle veri-tabanın da her hangi bir verini mükerrer çift olup olmadığını  sorgulamak için  alta benzer sorguları kendi verileri nize göre kontrol edebilirsiniz

				
					select tc_kimlik_no ,count(*)
from kimlik
group by tc_kimlik_no having count(*)>1;
				
			

Yukarıdaki SQL ile kimlik tablosunda aynı tc_kimlik_no  olan hastaları listeliye bilirsiniz

Önemli olan burda asıl kayıtları bırakıp mükerrer olanları bulmaktadır.Bunun içinde MAX () komutunu kullana bilirsiniz.Yani;

				
					select tc_kimlik_no ,count(*),max(rowid)
from kimlik
group by tc_kimlik_no having count(*)>1
				
			

sql ile şunu demek istediniz.İlk açılan tc kimlik no kalsın ama ondan sonraki aynı tc kimlik no ait tüm kayıtlar en büyüğük olanı gelsin

 

Silmek için ise eşleyen rowid’leri  alta belirtilen sql ile silebilirsiniz

				
					select max(rowid) from kimlik
group by tc_kimlik_no having count(*)>1;
				
			

hakkında admin

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir