SQL SELECT INTO Kullanımı(İnsert İnto Cesitleri)

Hiç yorum yok
SELECT INTO ifadesi ile bir tablodaki verileri alıp yeni bir tablo oluşturup içine kopyalayabiliriz. Sonuçta veritabanında yeni bir tablo oluşturulacağı için veritabanı üzerinde işlem yapan kullanıcının yeni bir tablo oluşturma yetkisine sahip olması gerekmektedir.

SELECT INTO Kullanım Biçimi
SELECT alan_ad(lari)
INTO yeni_tablo_adi [IN hedef_database]
FROM tablo1
NOT 1: Eğer yeni oluşturacağımız tablo aynı veritabanı içindeyse [IN hedef_database] ifadesi kullanılmaz. Eğer farklı bir veritabanı içine kopyasını alacaksak o zaman IN operatörü ile hedef veritabanını belirtmemiz gerekir.

NOT 2: Select Into yapısı ile yeni oluşturulacak olan tabloya, mevcut tablomuzdaki alanlar veri tipleri ve içindeki verilerle birlikte aynen kopyalanır. Eğer alan adını mevcut isminden farklı bir isimle oluşturmak istersek o zaman AS yapısı kullanabiliriz.
SELECT id, ad_soyad AS isim, yasadigi_sehir AS sehir
INTO personel_yedek
FROM personel
NOT 3: Eğer tablo içindeki verileri hariç tutup, sadece alan adları ve veri tiplerini almak istersek WHERE 1=0 eklememiz gerekir.
SELECT id, ad_soyad, sehir
INTO personel_yedek
FROM personel
WHERE 1=0

Select Into Örnekleri:

- Farklı ve harici veritabanına kopyalama
: Acces veritabanlarında geçerli olan bir yapıdır. IN ifadesinden sonra belirtilen yoldaki veritabanına tablomuz kopyalanır.
SELECT *
INTO personel_yedek IN 'c:\backup.mdb'
FROM personel
- Aynı veritabanı içinde tablo kopyalama: Veritabanımızdaki işlem kayıtlarını yıllara göre tuttuğumuzu varsayalım. Her yeni yıl geldiğinde elimizde bulunan boş bir şablon veritabanını kullanarak bir kopyasını yeni çalışma yılı için oluşturabiliriz. Bu örnekte islemler_sablon isimli tablomuzun bir kopyası islemler_2014 adıyla oluşturuluyor. Böylece 2014 yılı için işlem kayıtlarının depolanacağı bir tablo elde etmiş oluruz.
SELECT *
INTO islemler_2014
FROM islemler_sablon
- Belli kritere göre seçilen kayıtları yeni bir tabloya kopyalama: Tablomuzda bulunan kayıtları istediğimiz bir kritere göre seçerek yeni bir tabloya kopyalayabiliriz. Aşağıdaki örnekte Personel tablosunda bulunan kayıtlardan Sehir alanında İstanbul yazanlar seçiliyor. Bu seçilen kayıtlardan sadece ad_soyad alanında bulunan kayıtlar istanbul_personelleri isimli yeni bir tabloya aktarılıyor.

SELECT ad_soyad
INTO istanbul_personelleri
FROM personel
WHERE sehir='istanbul'

Hiç yorum yok :

Yorum Gönder