Oracle'da Yinelenen Kayıtları Silmenin 4 Yolu

İçindekiler:

Oracle'da Yinelenen Kayıtları Silmenin 4 Yolu
Oracle'da Yinelenen Kayıtları Silmenin 4 Yolu

Video: Oracle'da Yinelenen Kayıtları Silmenin 4 Yolu

Video: Oracle'da Yinelenen Kayıtları Silmenin 4 Yolu
Video: Office Ücretsiz Kullanma Nasıl Yapılır? 2024, Mayıs
Anonim

Oracle'da çalışırken bazı kayıtlarda kopyalar bulabilirsiniz. Yinelenen satırları tanımlayarak ve karşılık gelen RowID diğer adı satır adresini kullanarak kaldırabilirsiniz. Başlamadan önce, kayıt silindikten sonra bir referansa ihtiyaç duymanız ihtimaline karşı bir yedek tablo oluşturun.

Adım

Yöntem 1/4: Yinelenenleri Tanımlama

Oracle Adım 1'de Yinelenen Kayıtları Sil
Oracle Adım 1'de Yinelenen Kayıtları Sil

Adım 1. Kopyaları tanımlayın

Bu örnekte, yinelenen "Alan"ı tanımlıyoruz. Aşağıdaki SQL'i girerek silinecek kayıtların gerçekten kopya olduğundan emin olun.

Oracle 2. Adımda Yinelenen Kayıtları Sil
Oracle 2. Adımda Yinelenen Kayıtları Sil

Adım 2. "Ad" başlıklı sütundan tanımlayın

Sütunun başlığı "Ad" ise, " column_name " öğesini Ad ile değiştirmeniz gerekir.

Oracle Adım 3'te Yinelenen Kayıtları Sil
Oracle Adım 3'te Yinelenen Kayıtları Sil

Adım 3. Diğer sütunları tanımlayın

Farklı sütunlardan kopyaları tanımlamaya çalışıyorsanız, örneğin Alan'ın adı yerine yaşı, " sütun_adı " yerine "Yaş" girin vb.

tablo grubundan sütun_adı, sayı(sütun_adı) öğesini, sayım (sütun_adı) > 1 olan sütun_adı ile seçin;

Yöntem 2/4: Tek Kopyaları Kaldırma

Oracle Adım 4'te Yinelenen Kayıtları Sil
Oracle Adım 4'te Yinelenen Kayıtları Sil

Adım 1. " isimlerden isim " seçeneğini seçin

"SQL"den sonra (Standart Sorgu Dili'nin kısaltması), "adlardan isim seç" girin.

Oracle Adım 5'te Yinelenen Kayıtları Sil
Oracle Adım 5'te Yinelenen Kayıtları Sil

Adım 2. Yinelenen adlara sahip tüm satırları silin

"SQL"den sonra, name ='Alan'; olan isimlerden " delete yazın." Bu adımın "Alan" adlı tüm satırları silebilmesi için burada büyük harf kullanımının önemli olduğuna dikkat edilmelidir. "SQL" den sonra "commit" girin

Oracle Adım 6'da Yinelenen Kayıtları Sil
Oracle Adım 6'da Yinelenen Kayıtları Sil

Adım 3. Satırları kopya olmadan yeniden girin

Artık tüm satırları silip "Alan" ile değiştirdiğinize göre, " ad değerlerine ekle ('Alan');" yazarak bir satırı tekrar doldurun. "SQL"den sonra yeni bir satır oluşturmak için " commit " girin.

Oracle Adım 7'de Yinelenen Kayıtları Sil
Oracle Adım 7'de Yinelenen Kayıtları Sil

Adım 4. Yeni listeyi görüntüleyin

Yukarıdaki adımları tamamladıktan sonra, " isimlerden seç * " yazarak daha fazla mükerrer kayıt olmadığından emin olabilirsiniz.

SQL > isimlerden isim seçin; ADI --------------------------------- Alan Citra Tomi Alan Barış seçildi. SQL > name='Alan'; Satır silinir. SQL > taahhüt eder; \Taahhüt tamamlandı. SQL > isimlerin değerlerine ekle('Alan'); satır oluşturuldu. SQL > taahhüt eder; Taahhüt tamamlandı. SQL > isimlerden * seçin; İSİM --------------------------------- Alan Citra Tomi satırları seçildi.

Yöntem 3/4: Birden Çok Kopyaları Kaldırma

Oracle Adım 8'de Yinelenen Kayıtları Sil
Oracle Adım 8'de Yinelenen Kayıtları Sil

Adım 1. Silmek istediğiniz RowID'yi seçin

"SQL"den sonra " select rowid, name from name;" girin.

Oracle Adım 9'da Yinelenen Kayıtları Sil
Oracle Adım 9'da Yinelenen Kayıtları Sil

Adım 2. Kopyaları kaldırın

"SQL"den sonra, " delete from a where rowid > (min(rowid) öğesini b.name=a.name) girin;" kopyaları kaldırmak için.

Oracle Adım 10'da Yinelenen Kayıtları Sil
Oracle Adım 10'da Yinelenen Kayıtları Sil

Adım 3. Kopyaları kontrol edin

Yukarıdaki adımları tamamladıktan sonra, " select rowid, name from name;" yazarak yinelemeleri kontrol edin. sonra "taahhüt et".

SQL > satır kimliği seç, isimlerden isim; SATIR ADI ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Alan satırları seçildi. SQL > a burada satır kimliğinden sil > (b.name=a.adı b.adından min(satır) öğesini seçin); satırlar silindi. SQL > satır kimliği seç, isimlerden isim; SATIR ADI ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom satırları seçildi. SQL > taahhüt eder; Taahhüt tamamlandı.

Yöntem 4/4: Sütunlara Göre Satırları Silme

Oracle Adım 11'de Yinelenen Kayıtları Sil
Oracle Adım 11'de Yinelenen Kayıtları Sil

Adım 1. Satırı seçin

"SQL"den sonra "select * from name;" girin. çizgiyi görebilmek için.

Oracle Adım 12'de Yinelenen Kayıtları Sil
Oracle Adım 12'de Yinelenen Kayıtları Sil

Adım 2. Sütunlarını tanımlayarak yinelenen satırları kaldırın

"SQL'"den sonra " delete from name from a where rowid > yazın (b.name=a.name ve b.age=a.age) adlarından min(rowid) öğesini seçin);" yinelenen kayıtları kaldırmak için.

Oracle Adım 13'te Yinelenen Kayıtları Sil
Oracle Adım 13'te Yinelenen Kayıtları Sil

Adım 3. Kopyaları kontrol edin

Yukarıdaki adımları tamamladıktan sonra " select * from name;" yazın. ardından kopyaların gerçekten kaldırılıp kaldırılmadığını görmek için " taahhütte bulunun ".

SQL > isimlerden * seçin; ADI YAŞ ------------------------------ ---------- Alan 50 Citra 51 Tomi 52 Alan 50 satırlar seçildi. SQL > a burada satır kimliğinden sil > (b.name=a.name ve b.age=a.age 'de b adlarından min(rowid) öğesini seçin); satır silindi. SQL > isimlerden * seçin; İSİM YAŞ ------------------------------ ---------- Alan 50 Citra 51 Tomi 52 satır seçildi. SQL > taahhüt eder; Taahhüt tamamlandı.

Uyarı

  • Hiçbir veri silinmediğinde (sorunuz varsa) içerik referansı olarak kullanılabilecek şekilde oturum açmanızda yinelenen bir tablo oluşturun.

    SQL > isimlerden seç * olarak alan.names_backup tablosu oluştur; Tablo oluşturuldu.

Önerilen: