SQL – INSERT INTO SELECT İfadesi ve Kullanımı – Ders 26

INSERT INTO ile SELECT sorgularının aynı anda kullanıldığı farklı bir ifade ile 26. dersimize geçiyoruz. Yazının devamını okumadan önce bu ifadenin tam olarak nasıl bir işlevi olduğunu tahmin etmeye çalıştığınızda %90 ihtimal doğru cevaba ulaşıyorsunuz. INSERT INTO SELECT ifadesi, bir tablodaki kayıtların başka bir tabloya kaydolmasını sağlamaktadır. 25. dersimizde yer alan SELECT INTO’dan en önemli farklı da budur.

Öncelikle Syntax gösterimi ile ilgili birkaç detaya geçelim. Görüldüğü üzere INSERT INTO kısmında hangi tabloya kopyalanacağını seçiyoruz. SELECT * FROM kısmında ise hangi tablonun kopyalanacağını yazıyoruz. WHERE kısmında ise hangi şartlara uyan kayıtların kopyalanacağı belirleniyor. Ben Syntax gösteriminde * kullandım fakat siz sütun isimlerini yazarak da halledebilirsiniz.

INSERT INTO SELECT ifadesinde bilinmesi gereken iki husus bulunuyor. Bunların ilki, data tipleri. Bir tablodaki şartlara uygun kayıtları diğer tabloya kopyalayacağınız zaman ikinci tabloya karşılık gelen data tiplerinin de aynı olması gerekiyor. Örneğin birinci tablodaki ilk sütun varchar iken ikinci tablodaki ilk sütun integer değerde olursa sorgu hata verecektir.

Örnek sorgumuzu inceleyecek olursak, Suppliers tablosunda yer alan kayıtların SupplierName, City, Country değerleri; Customers tabosundaki CustomerName, City, Country alanlarına kopyalanmak isteniyor. Daha önceki derslerden de hatırlarsanız Customers kısmında bu üç sütunun dışında da veriler bulunuyordu. İşte o verilere karşılık gelen değerler ise null almakta. Bunun nedeni, kopyalama işlemi sırasında o sütunlar için herhangi bir veri kopyalanmasının olmamasıdır.

OKUMALISIN!  SQL - INNER JOIN Kullanımı - Ders 17

 

1 Star2 Stars3 Stars4 Stars5 Stars (1 oylama, average: 5,00 out of 5)
Loading...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir