Arkadaşlar bu gün yayınlayacağım konu ise SELECT INTO ifadesi’dir. Arkadaşlar Açıklamak gerekirse 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
1 2 3 |
<span style="color: #000000;">SELECT</span><span style="color: #000000;"> alan_ad(lari</span><span style="color: #000000;">)</span><span style="color: #000000;"> INTO yeni_tablo_adi [IN hedef_database] FROM tablo1</span> |
* Select Into yapısı ile yeni oluşturulacak olan tabloya, mevcut tablomuz da ki 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.
–Tablo oluşturmak için
1 2 3 4 |
<span style="color: #333333;">select identity (int ,1,1)as sno,ograd,ogrsoyad into ona from ogrenci where sinif='10a' select *from ona</span> |
–Otomatik artan sayı olan ogrno alanını sorgumuzda kullanamadığımız için böyle çözüm sunabiliriz
1 2 3 4 |
select identity (int ,1,1)as sno,convert(int,ogrno)ogrno,ograd,ogrsoyad into ona2 from ogrenci where sinif='10a' |
–Sorgnun içinde otomatik sayı olduğu için ogrno yu convert gibi gösteriyoruz böylece tabloda ogrNo yu kullanılabilir hale getiriyoruz.
– Aynı veritabanı içinde tablo kopyalama: Veritabanımız da ki işlem kayıtlarını yıllara göre tuttuğumuzu varsayalım. Her yeni yıl geldiğinde elimizde bulunan boş bir şablon veri tabanını kullanarak bir kopyasını yeni çalışma yılı için oluşturabiliriz. Bu örnekte islem_kitap isimli tablomuzun bir kopyası islem_2014 adıyla oluşturuluyor. Böylece 2014 yılı için işlem kayıtlarının depolanacağı bir tablo elde etmiş oluruz.
1 2 3 4 5 |
SELECT * INTO islem_2014 FROM islem_kitap |
– 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 Ogrenci tablosunda bulunan kayıtlardan ‘Sinif ‘ alanında 10A yazanlar seçiliyor. Bu seçilen kayıtlardan sadece ad_soyad alanında bulunan kayıtlar 10A_Ogrencileri isimli yeni bir tabloya aktarılıyor.
1 2 3 4 5 6 |
SELECT ograd_ogrsoyad INTO 10A_Ogrencileri FROM personel WHERE sinif='10A' |
[…] SQL Select Into Kullanımı […]