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: #TrendyoldaBuldum diyeceğin 3 boyutlu kalemi deniyoruz✏️ Linki yorumlarda. 2024, Mayıs
Anonim

Oracle'da çalışırken, bazı kayıtlarınızın kopyaları olduğunu görebilirsiniz. Bu yinelenen satırları tanımlayarak ve RowID'sini veya satır adresini kullanarak silebilirsiniz. Başlamadan önce, kayıtları sildikten sonra bunlara başvurmanız gerekebileceği için bir yedek tablo oluşturmalısınız.

adımlar

Yöntem 1/4: Kopyanızı Tanımlama

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

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

Bu durumda, örnek kopyayı tanımlayın, "Alan." Aşağıdaki SQL'i girerek silmeye çalıştığınız kayıtların gerçekten kopya olduğundan emin olun.

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

Adım 2. "Adlar" adlı bir sütundan tanımlama

"Adlar adlı bir sütun örneğinde, "sütun_adı" yerine Adlar koyarsınız.

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

Adım 3. Diğer sütunlardan tanımlama

Kopyaları farklı bir sütunla tanımlamaya çalışıyorsanız, örneğin Alan'ın adı yerine yaşı, "sütun_adı" yerine "Yaşlar" girersiniz 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 Bir Kopyaları Silme

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

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

"Standart Sorgu Dili anlamına gelen "SQL"den sonra "adlardan isim seç" yazın.

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

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

"SQL"den sonra, name='Alan'; olan adlardan "delete" yazın. Burada büyük harf kullanımının önemli olduğunu unutmayın, bu nedenle bu, "Alan" adlı tüm satırları silecektir. "SQL"den sonra "commit" yazın.

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

Adım 3. Satırı kopya olmadan kiralayın

Örnek adı "Alan" olan tüm satırları sildiğinize göre, "ad değerlerine ekle ('Alan');" yazarak bir satır geri ekleyebilirsiniz. "SQL"den sonra, yeni satırınızı oluşturmak için "commit" yazın.

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

Adım 4. Yeni listenize bakın

Yukarıdaki adımları tamamladıktan sonra, "adlardan * seç" yazarak artık mükerrer kayıtlarınız olmadığından emin olabilirsiniz.

SQL > isimlerden isim seçin; ADI --------------------------------- Alan Carrie Tom Alan satırları seçildi. SQL > name='Alan'; satırlar silindi. SQL > taahhüt; Taahhüt tamamlandı. SQL > ad değerlerine ekle ('Alan'); satır oluşturuldu. SQL > taahhüt; Taahhüt tamamlandı. SQL > isimlerden * seçin; İSİM --------------------------------- Alan Carrie Tom satırları seçildi.

Yöntem 3/4: Birden Çok Çoğaltmayı Silme

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. Kopyayı silin

"SQL"den sonra, "delete from name from a where rowid > girin (b.name=a.name olan b adlarından min(rowid) öğesini seçin);" yinelenen kayıtları silmek 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ıdakileri tamamladıktan sonra, komutlar "seç satır kimliği, isimlerden isim;" yazarak yinelenen kayıtlarınız olup olmadığını kontrol eder. ve 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; Taahhüt tamamlandı.

Yöntem 4/4: Sütunlu 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ırlarınızı seçin

"SQL"den sonra, "adlardan * seçin;" girin. satırlarınızı görmek 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ı silin

"SQL'"den sonra "delete from a name from rowid > (b.name=a.name ve b.age=a.age) adlarından min(rowid) öğesini seçin);" yinelenen kayıtları silmek 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, "adlardan * seç" yazın; ve ardından yinelenen kayıtları başarıyla sildiğinizi kontrol etmek için "taahhüt edin".

SQL > isimlerden * seçin; İSİM YAŞ ------------------------------ ---------- Alan 50 Carrie 51 Tom 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 Carrie 51 Tom 52 satır seçildi. SQL > taahhüt; Taahhüt tamamlandı.

Uyarılar

  • Herhangi bir silme işlemi gerçekleşmeden önce orada ne olduğunu göstermek için kullanabileceğiniz kendi oturum açma işleminizde bir yedek tablo oluşturun (herhangi bir soru olması durumunda).

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

Önerilen: