Kenan kılıçaslan

  • Baca Hesabı
  • Sürtünme Kaybı
  • Diferansiyel Denklem
  • Denklem Çözümü
SQL Server

View'ler

Tablo gibi davranan veritabanı nesnesidir.

Özellikleri

1- Sadece bir adet select sorgusundan oluşur.

2- Tablo gibi sorgulanabilir.

3- Yeni kayıt eklenebilir. (Gruplama sorguları ve diğer bazı durumlar hariç)

4- Mevcut kayıtlar değiştirilebilir. (Gruplama sorguları ve diğer bazı durumlar hariç)

5- Kayıtlar silinebilir. (Gruplama sorguları ve diğer bazı durumlar hariç)

6- Bazı kolonlar hesaplama ile oluşabilir. Bu kolonlar güncellenemez.

7- Tablodaki kısıtlamalar view’leri de etkiler.

8- View’i oluşturan sorguda ORDER BY deyimi bulunamaz.

View’e veri eklediğimizde veri nereye yazılır?

Veri view’e yazılmaz, bağlı bulunduğu tabloya yazılır.

View’in oluşturulması, değiştirilmesi ve silinmesi

VIEW Oluşturma

CREATE VIEW viewAdı AS sorgu

Mevcut VIEW'i değiştirme

ALTER VIEW viewAdı AS sorgu

Mevcut VIEW'i silme

DROP VIEW viewAdı
View örnekleri

View’i örneklerle açıklayalım. Bunun için sipariş Detay isimli tabloyu kullanalım.

Örnekte kullanacağımız tablo

Soru : SiparisDetay tablosundan, tutar değerini de içeren vw_SiparisDetay isminde bir view oluşturunuz (tutar = miktar * fiyat)

1. Aşama : Viewin içine koyacağımız sorguyu yazalım.

SELECT *, miktar*fiyat FROM SiparisDetay

View’i örneklerle açıklayalım. Bunun için sipariş Detay isimli tabloyu kullanalım.

Yukarıdaki sorguda, kolon ismi olmadığı için view oluşturamayız. Sonuncu kolona Tutar ismini verelim.
SELECT *, miktar*fiyat as Tutar FROM SiparisDetay

2. Aşama :view’i oluşturalım.

CREATE VIEW vw_SiparisDetay AS
SELECT *, miktar*fiyat as Tutar FROM SiparisDetay 
Örnek

vw_SiparisDetay view’ini sorgulayarak 4 nolu siparişin içeriğini listeleyiniz.

SELECT * FROM vw_SiparisDetay WHERE siparisno=4
Örnek

vw_SiparişDetay viewini sorgulayarak 4 nolu siparişte bulunun ürünlerin miktar toplamını ve tutar toplamını bulan sorgu yazınız.

SELECT sum(miktar) as ToplamMiktar, 
    sum(tutar) as ToplamTutar 
    FROM vw_SiparisDetay 
    WHERE siparisno=4
beyaz_sayfa_en_alt_oval