Bu yazımda size elinize bulunan 2 tabloyu birbiyle mergeleme (birleştirme) olayından bahsedeceğim. Yalnız aynı olan verileri almamak şartıyla. Örneğin elinizde bir mail listeniz var ve bu mail listenize yeni veriler eklemek istiyorsunuz. Ama var olan listenizde yeni eklenecek olan maillerden var mı bilmek istiyorsunuz ve aynı verileri gereksiz yere saklamak istemiyorsunuz. İşte tamda burada merge olayı devrey giriyor çünkü tek tek kontrol etmeye kalkarsanız ve dolu bir veri listeniz varsa gerçekten bu çile haline gelebilir.
Sql de merge olayı kasıyormu?
Kısa söylemek gerekirse HAYIR. Insert yada update zamanından fazla bir zaman almıyor.
Kullanımı;
İlk olarak ben liste halindeki verilerimi bir adet DataTable'e yazdım. Daha sonra önüne "#" koyarak oluşturduğum temp tabloma DataTablemi kayıt ettiim. Bu arada # işareti koyarak sql'de oluşturduğum temp tablom connection close olduğu anda kendiliğinden kayboluyor haberiniz olsun. Daha sonra merge olayımız devreye giriyor. İstediğimiz koşuluda yazabiliyoruz aynı zamanda.
Benim temp tablomun adı A, asıl kayıt atacağım tablom da MailListesi olsun ve kodumuz alt kısım da mevcut,
MERGE MailListesi cm
USING A ON cm.FirmaID = A.FirmaID and cm.Mail = A.Mail
WHEN NOT MATCHED THEN
INSERT (FirmaID,Mail)
VALUES (A.FirmaID,A.Mail);
Kısa zaman sonra ufak bir örnek uygulamayıda buaradan paylaşacağım.
Görüşmek üzere
Osman KURT
Yazılım Uzmanı
.Net platformunun yeni ve kalıcı yüzü olan mvc'de söz sahibi olmak, piyasaya kaliteli hizmet vermek ya da piyasada daha kolay ve sağlam bir iş sahibi olmak isteyen kişilere asp.net mvc eğitimi verilir. Verilecek eğitimden sonra mvc'de sıfırdan bir proje nasıl oluşturulur, model controller view yapıları, data katmanı vb gerekli bütün bilgileri bulabileceksiniz. Eğitimin sonunda benim danışmanlığım da yapacağınız bir proje ile (istenilen proje yapılabilir) edindiğiniz bütün bilgileri pekiştirecek gerçek hayatta karşılaşacağınız problemlere ne tür hızlı ve doğru çözümler bulabileceğinizi öğreneceksiniz.
Lafı uzatmadan anlatmak gerekirse okullarda öğrendiğiniz gereksiz bilgilerin gerçek hayatta hiçbir işe yaramadığını anlayan kişiler bu yazıyı okuyorsanız üst kısımda ne demek istediğimi gayet iyi anladınız demektir. Eğer ki bu meslekten ekmek yemek istiyorsanız ya büyük kurslara çuvalla para yatıracak bir grup insan içinde öğrenmek için çabalayacaksınız ya da birebir daha az ücret karşılığında hem de piyasanın içinden bir yazılımcıdan eğitim alacaksınız karar sizin.
İrtibat: iletişim sayfasından ya da info@osmankurt.net
Görüşmek üzere
Osman KURT
Yazılım Uzmanı
Sefer hocamla beraber 28 saat 4 haftalık OOP serüvenimiz bugün itibari ile son bulmuştur arkadaşlar. Kendisine verdiği değerli bilgiler için çok teşekkür ederim.
Kendisinin zaten Türkiye de C# denilince akla gelen ilk kişi olduğunu biliyorduk ama buna canlı bir şekilde tanık olmakta ayrı bir keyifdi doğrusu. Uzun zaman dır kendisini sosyal medyadan ve kitaplarından takip ediyordum bu sayede birebir tanışma fırsatını da yakalamış oldum. Çok keyifli ve şakacı bir insan olduğunu rahatlıkla söyleyebilirim.
Bu 4 hafta 28 saatlik serüven sonrasında geriye kalanlar ise Sefer hocam imzalı bir sertifika, hocamla birlikte çekindiğimiz resim ve belki de en önemlisi OOP ne demek onu öğrenmek.
*Sefer hocamın hoşuma giden sözlerinden belki de en önemlisini paylaşmak istiyorum, "Class yazmak demek OOP yapmak demek değildir." gerçekten de çok güzel bir söz sanırım bütün bu eğitimin amacını kısaca özetledi bu söz.
Tekrardan teşekkürler hocam teşekkürler firmam :D