/* Viewler karmaşık sorguları basitleştirmek, sorgu süresini kısaltmak, erişim izinlerini düzenlemek vb. nedenlerden dolayı kullanılan sanal tablolardır. Viewlerde order by kullanılamaz. İsimsiz kolon bırakılamaz mesela Sum kullandık as ile başlık yazmamız gerekir. Birden fazla sorgu yazılamaz yani sadece 1 adet select sorgusu çalıştırabilir. Insert, Delete, Update kullanılamaz. Parametre alıp, yollayamazlar. Özellikle joinli yapılarda tercih edilirler. */ create view vw_uyeKitap As ( select uyeAdSoyad,kitapAd from uye,kitap,teslimat where uyeNo=uyeId and kitapNo=kitapId ) -- view oluşturma kodu (Üyeleri ve aldıkları kitapları listeler) select * from vw_uyeKitap -- view execute kodu alter view vw_uyeKitap as ( select uyeAdSoyad,kitapAd from uye,kitap,teslimat where uyeNo=uyeId and kitapNo=kitapId ) -- view güncelleme kodu, alter ile güncelleyebiliriz. drop view vw_uyeKitap -- view silme kodu
-- Birde joinli view örneği yapalım create view vw_yazarKitapJoin as ( select yazarAdSoyad,kitapAd from yazar left join kitap on yazarNo=yazarId ) select * from vw_yazarKitapJoin
VİEW ŞİFRELEME
alter view vw_uyeKitap With Encryption as ( select uyeAdSoyad,kitapAd from uye,kitap,teslimat where uyeNo=uyeId and kitapNo=kitapId ) -- With Encryption ile viewi şifreleyebiliriz. Yani design açılmaz, gizleyebiliriz.