Bulk Insert kavramı bu yazımdan anlatacağımdan daha kapsamlı ve yer yer karmaşık bir konu. Bu yazımda kaynak tablodaki verilerimi, var olan hedef tabloma ekleyeceğim ve var olmayan, Bulk işlemi sırasında oluşacak, tabloama ekleyeceğim. Bu kullanıma hayatınızın bir bölümünde yazılım ile uğraşıyorsunuz kullanırsınız diye düşünüyorum.
Mantık Yürütme
Şöyle bir senaryo düşünelim, elinizdeki (musteriBilgileri) müşteri tablosununda çok kullanılan kullanıcı adı ve şifresi gibi bilgileri farklı bir tabloda tutmak istiyorsunuz. Nasıl bir yapı kullanırsınız da bu verileri diğer (musteriGirisBilgileri) tabloya taşıyabilirsiniz?
Benim ilk aklıma gelen, Cursor veya Row_Number ile teker teker gezip verileri yazmaktı. Bir şekidle verileri alıp yazmam gerekiyor değil mi? Ama aslında bu kadar karmaşık bir işlem değil yapacağımız.
Kod Yazımı
Kullanım1: “musteriGirisBilgileri” tablosunu el ile (manuel) oluşturup aşağıdaki gibi kullanmak
INSERT INTO musteriGirisBilgileri SELECT userName, password FROM musteriBilgileri
Kullanım 2: “musteriGirisBilgileri” tablosunu tamamen dinamik olarak kullanmak. Sihirli kod işte bu 🙂
SELECT userName, password INTO musteriGirisBilgileri FROM musteriBilgileri
Burada musteriGirisBilgileri diye dinamik olarak bir tablo oluşturuyor ve tablodaki kolonları data type ları ise musteriBilgileri tablosundaki attığınız kolonlardaki veri tipleri ile birebir aynı…
Sonuç
Aynı veritabanı veya farklı veritabanları içerisinde yer alan tablolardaki verileri başka bir tabloya kopyalayacağımız zaman bulk insert’i kullanabiliriz.
İyi çalışmalar