Tablonuzdaki tekrar kayıtlarını temizlemek

Katılım
11 Ocak 2012
Mesajlar
12,813
Tekrar eden kayıtları tespit edip, temizlemeye yarar. İşlemi yaptıktan sonra primary key kullanmanızı öneririm özellikle item ve magic tablolarınız için.



Kırmızı bölgelere veritabanınızın adı.

Mavi bölgelere temizlenecek tablonuzun adı.

Turuncu bölgelere çift değerlerin kontrol edileceği sutun.



Yedeğinizi mutlaka alın.



Öncelikle tekrar eden kayıtlara bir göz atalım, çıkan sonuçta dublicate sutunu tekrar sayısını verir. Eğer tekrar sayınız örneğin 3 ise tekrar eden 2''sini temizler.

Burada bulunan gizli verileri görebilmeniz için önce yanıt vermelisiniz.


Ve işlemimiz.

Kod:
USE [COLOR="Red"]KO_S1[/COLOR]

GO



DECLARE @Count int = 0, @MagicID int



DECLARE Dublicate CURSOR FAST_FORWARD FOR



SELECT [COLOR="DarkOrange"]iNum[/COLOR], COUNT([COLOR="DarkOrange"]iNum[/COLOR]) - 1 FROM [COLOR="blue"]MAGIC_TYPE4[/COLOR] GROUP BY [COLOR="DarkOrange"]iNum[/COLOR] HAVING COUNT([COLOR="DarkOrange"]iNum[/COLOR]) > 1



OPEN Dublicate



FETCH NEXT FROM Dublicate INTO @MagicID, @Count



WHILE @@FETCH_STATUS = 0

BEGIN

	SET ROWCOUNT @Count

	DELETE FROM [COLOR="blue"]MAGIC_TYPE4[/COLOR] WHERE [COLOR="DarkOrange"]iNum[/COLOR] = @MagicID

	SET ROWCOUNT 0

	FETCH NEXT FROM Dublicate INTO @MagicID, @Count

END



CLOSE Dublicate 

DEALLOCATE Dublicate



Farklı çeşitlerini isteyen olursa konu altından belirtebilir. Birden fazla sutunun kontrol edilmesi gibi.



Ek olarak karakter veri tiplerine sahip sutunlar için (TB_USER)

Kod:
USE KO_MAIN

GO



DECLARE @Count int = 0, @CheckID varchar(21)



DECLARE Dublicate CURSOR FAST_FORWARD FOR



SELECT strAccountID, COUNT(strAccountID) - 1 FROM TB_USER GROUP BY strAccountID HAVING COUNT(strAccountID) > 1



OPEN Dublicate



FETCH NEXT FROM Dublicate INTO @CheckID, @Count



WHILE @@FETCH_STATUS = 0

BEGIN

	SET ROWCOUNT @Count

	DELETE FROM TB_USER WHERE strAccountID = @CheckID

	SET ROWCOUNT 0

	FETCH NEXT FROM Dublicate INTO @CheckID, @Count

END



CLOSE Dublicate 

DEALLOCATE Dublicate
[/QUOTE]
 
Kayıtlı Üye
Katılım
11 Mayıs 2012
Mesajlar
304
Cevap: Tablonuzdaki tekrar kayıtlarını temizlemek



Teşekkürler
 
Kayıtlı Üye
Katılım
27 Mart 2012
Mesajlar
222
Cevap: Tablonuzdaki tekrar kayıtlarını temizlemek



eskidende vardı böyle bir editör item tablosu için.
 

Xat

Kayıtlı Üye
Katılım
11 Mayıs 2014
Mesajlar
344
Cevap: Tablonuzdaki tekrar kayıtlarını temizlemek



Tesekkürler...
 
Kayıtlı Üye
Katılım
9 Mart 2012
Mesajlar
240
Cevap: Tablonuzdaki tekrar kayıtlarını temizlemek



teşekkürler
 
Üst Alt
Reklam
Reklam