Perşembe , 29 Ekim 2020
Güncel
Anasayfa / Yazılım / SQL / SQL: Çoklu Tablodan Çoklu Silme

SQL: Çoklu Tablodan Çoklu Silme

Merhaba arkadaşlar, bugün sizlere birden fazla tabloyu birleştirip (join) o birleştirme sonucundaki alanları silmeyi göstereceğim. Umarım kolaylıkla anlaşılır bir dilde aktarabilirim.

Diyelim ki bir Forum Veritabanı var elinizde ve çoklu silme işlemi yapacaksınız. Burada yapıyı şöyle düşünelim. Bir post(mesaj) tablomuz bir de thread(konu) tablomuz olsun. Bizim amacımız post ve thread tablolarını joinlemek ve delete işlemini uygulamak.

Şimdi yukarıdaki yazdığımız kodu dikkatle inceleyelim.

Şimdi en sondan şartlarımızı okuyalım.
thread.forumid IN ( 2092, 2072, 2017, 2003, 2122, 2021, 1729, 2014, 2093, 2007, 1993, 2074, 2042, 2095, 2009, 2006, 2137, 2023, 2121, 1994, 56, 2098, 2011, 2012, 2124, 2096, 164, 2008, 156, 2097, 2024, 2018, 2013, 2075, 2010, 2016, 2084, 2085 ) diyerek ne kastedilmiştir ?

Şimdi siz belli forumdaki konuları sileceğinize göre forumid ve thread arasında bir ilişki kurmalısınız. Demelisiniz ki şu id’li forumlar altındakiler silinsin. Zaten where koşulunuz da bunu söylüyor. thread tablosundaki forumid yukarıdakilerden biri olursa diyor.

Peki daha sonra ? post.threadid = thread.thread.id diyerek ne yaptık. Konu tablosu ile mesaj tablosunu threadid ile bağladık. İşte bu işlem tüm post ve thread’leri silecek. Siz bu hareket ile 2 tablodan da bu forum id’leri ile ilişkili konu ve mesajları silmiş oldunuz.

Umarım açık bir anlatım olmuştur.

İyi Çalışmalar…

Cihan KÜSMEZ Kimdir ?

Makalelerinin Toplam Okunma Sayısı: 2.480.191


2002 yılında başladığım yazı hayatıma ilk önce 2007 yılında blogspot ile devam ederken daha sonra 2009 yılında Wordpress ile devam ettim. 2009'dan bu yana Cihan Blog'ta yazmaktayım. Yazılım, Diziler ve Sosyal Medya ağırlıklı yazıların yanı sıra güncel konular ile ilgili yazılar da yazmaktayım.