Oracle’da çalışırken bazı kayıtların kopyalarının olduğunu görebilirsin. Bu kopya satırları, onları tanımlayıp satır kimliklerini veya satır adreslerini kullanarak silebilirsin. Başlamadan önce, kayıtları sildikten sonra referans almaya ihtiyacın olursa diye yedek bir tablo oluşturmalısın.

Yöntem 1 / 4:
Kopyanı Tanımlamak

  1. 1
    Kopyayı tanımla. Bu durumda, örnek kopya "Ali"yi tanımla. Aşağıdaki SQL’i girerek, silmeye çalıştığın kayıtların kopya olduğundan emin ol.
  2. 2
    "Adlar" adında bir sütundan tanımlamak. "Adlar" adındaki sütun örneğinde, "sutun_adi"ni Adlar ile değiştirirsin.
  3. 3
    Diğer sütunlardan tanımlamak. Kopyayı, mesela Ali’nin adı yerine yaşı gibi başka bir sütun ile tanımlaya çalışıyorsan "sutun_adi"na "Yaslar" yazarsın. Başka sütunlar için de aynısını yaparsın.
    select sutun_adi, count(sutun_adi) 
    from tablo
    group by sutun_adi
    having count (sutun_adi) > 1;
    
    Reklam

Yöntem 2 / 4:
Tek Bir Kopyayı Silmek

  1. 1
    "Adlardan ad" seç. Standard Query Language’in (Standart Sorgu Dili) kısaltması olan "SQL"den sonra "select ad from adlar" komutunu gir.
  2. 2
    Kopya adı içeren tüm satırları sil. "SQL"den sonra, "delete from adlar where ad='Ali'; yaz." Burada büyük harfin önemli olduğunu bil. Bu komut, "Ali" adındaki tüm satırları siler. "SQL"den sonra "commit" yaz. [1]
  3. 3
    Satırı kopya olmadan tekrar gir. "Ali" örnek isminde olan tüm satırları sildiğine göre "insert into ad values ('Ali') komutuyla tekrar bir kayıt girebilirsin. "SQL"den sonra yeni satırını oluşturmak için "commit" yaz.
  4. 4
    Yeni listene bak. Yukarıdaki adımları tamamladıktan sonra "select * from adlar" yazarak artık kopya kaydının olmadığından emin olabilirsin.
    SQL > select ad from adlar;
    NAME
    ------------------------------
    Ali
    Cahit
    Tan
    Ali
    rows selected (satırları seçildi).
    SQL > delete from adlar where ad='Ali';
    rows deleted (satırları silindi).
    SQL > commit;
    Commit complete (işlendi).
    SQL > insert into adlar values ('Ali');
    row created (satır oluşturuldu).
    SQL > commit;
    Commit complete (işlendi).
    SQL > select * from adlar;
    NAME
    ------------------------------
    Ali
    Cahit
    Tan
    rows selected (satırları seçildi).
    
    Reklam

Yöntem 3 / 4:
Birden Fazla Kopyayı Silmek

  1. 1
    Silmek istediğin satır kimliğini seç. "SQL"den sonra "select satir_kimligi, ad from adlar;" yaz.
  2. 2
    Kopyayı sil. Kopya kayıtları silmek için "SQL"den sonra "delete from adlar a where satir_kimligi > (select min(satir_kimligi) from adlar b where b.ad=a.ad);" yaz. [2]
  3. 3
    Kopya var mı bak. Yukarıdakini yaptıktan sonra hâlâ kopya kayıt var mı bakmak için önce "select satir_kimligi, ad from adlar;" komutunu sonra da "commit" komutunu kullan.
    SQL > select satir_kimligi,ad from adlar;
    SATIR_KIMLIGI              AD
    ------------------ ------------------------------
    AABJnsAAGAAAdfOAAA Ali
    AABJnsAAGAAAdfOAAB Ali
    AABJnsAAGAAAdfOAAC Cahit
    AABJnsAAGAAAdfOAAD Tan
    AABJnsAAGAAAdfOAAF Ali
    rows selected (satırları seçildi).
    SQL > delete from adlar a
    where satir_kimligi > (select min(satir_kimligi) from adlar b
    where b.ad=a.ad
    );
    rows deleted (satırları silindi).
    SQL > select satir_kimligi,ad from adlar;
    SATIR_KIMLIGI              AD
    ------------------ ------------------------------
    AABJnsAAGAAAdfOAAA Ali
    AABJnsAAGAAAdfOAAC Cahit
    AABJnsAAGAAAdfOAAD Tan
    rows selected (satırları seçildi).
    SQL > commit;
    Commit complete (işlendi).
    
    Reklam

Yöntem 4 / 4:
Satırları Sütunlarla Silmek

  1. 1
    Satırlarını sil. Satırlarını görmek için "SQL"den sonra "select * from adlar;" yaz.
  2. 2
    Kopya satırları sütunlarını tanımlayarak sil. Kopya kayıtları silmek için "SQL"den sonra "delete from adlar a where satir_kimligi > (select min(satir_kimligi) from adlar b where b.ad=a.ad and b.yas=a.yas); yaz".[3]
  3. 3
    Kopya var mı diye kontrol et. Yukarıdaki adımları tamamladıktan sonra kopya kayıtları başarılı bir şekilde silip silemediğini kontrol etmek için "select * from adlar" yaz, ardından "commit" yaz.
    SQL > select * from adlar;
    AD                                  YAS
    ------------------------------ ----------
    Ali                                   50
    Cahit                                 51
    Tan                                    52
    Ali                                   50
    rows selected (satırları seçildi).
    SQL > delete from adlar a
    where satir_kimligi > (select min(satir_kimligi) from adlar b
    where b.ad=a.ad
    and b.yas=a.yas
    );
    row deleted (satır silindi).
    SQL > select * from adlar;
    AD                                  YAS
    ------------------------------ ----------
    Ali                                   50
    Cahit                                 51
    Tan                                    52
    rows selected (satırları seçildi).
    SQL > commit;
    Commit complete (işlendi).
    
    Reklam

Uyarılar

  • Herhangi bir silme işlemi olmadan önce (soru varsa diye) tabloda ne olduğunu gösterebilmek için kendi oturumunda yedek bir tablo oluştur.
    SQL > create table ali.adlar_backup as select * from adlar;
    Table created (tablo oluşturuldu).
    
Reklam

Bununla İlgili wikiHow'lar

wikiHow

Snapchat Puanı Nasıl Hızlı Arttırılır?

wikiHow

Gizli Arama Nasıl Yapılır?

wikiHow

Android'de Spotify Çalma Listeni Kimin Takip Ettiği Nasıl Görülür?

wikiHow

Birisinin Numaranı Whatsapp'ına Kaydettiği Nasıl Anlaşılır?

wikiHow

Smart TV'ye Uygulama Nasıl Eklenir?

wikiHow

Akıllı Saat Android'le Nasıl Eşleştirilir?

wikiHow

Android'de Güvenli Mod Nasıl Kapatılır?

wikiHow

Android'de Telegram Hesabı Nasıl Silinir?

wikiHow

Resim Kullanarak Biri Kolayca Nasıl Araştırılır ve Bulunur?

wikiHow

Windows Ürün Anahtarı Nasıl Bulunur?

wikiHow

Bilgisayarın Bluetooth Özelliği Olup Olmadığı Nasıl Anlaşılır?

wikiHow

Word'de Boş Bir Sayfa Nasıl Kaldırılır?

wikiHow

Samsung Galaxy Cihazlarda Ekran Yansıtma Nasıl Etkinleştirilir?

wikiHow

Instagram'da Resimlere Müzik Nasıl Eklenir?
Reklam

Bu wikiHow makalesi hakkında

wikiHow Kadrosu
Ortak yazarlar :
Bu makale editörler ve araştırmacılardan oluşan, makalenin doğruluğu ile kapsamlılığını onaylayan, eğitimli bir ekip tarafından ortaklaşa yazılmıştır.

wikiHow’ın İçerik Yönetim Ekibi, yüksek kalite standartlarımızı sağladığından emin olmak için, editör ekibimizden gelen her çalışmayı dikkatli bir şekilde denetler.
Bu sayfaya 473 defa erişilmiş.

Bu makale işine yaradı mı?

Reklam