Sql View
Bir tablo üzerinde sorgulama yapılması için kullanılan nesnedir. Fiziksel olarak herhangi bir yerde saklanmaz. Avantajları;
- Database erişimini kısıtlar. Böylece sadece sorgulanan verileri gözükür.
- Sorgulamaları kolaylaştırabilir.
- Datayı bağımsız olarak gösterebiliriz.
Yazılımı;
1 2 3 4 5 6 7 8 9 |
CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW view_adi [alias] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] |
FORCE : Hata durumu oluşursa gözardı ettirilir. NOFORCE ise gözardı edilmez.
View_adi : Yaratılan view sorgu adıdır..
Alias : Yaratılan işlemin adıdır.
WITH CHECK OPTION [CONSTRAINT : View objesine hatalı işleme yapılmasını engeller.
Örnek: Departman numarası 41 olan peroneller için perview isminde bir view olşturalım;
1 2 3 4 5 6 7 8 9 |
CREATE VIEW persview AS SELECT * FROM personel WHERE dept_id=41 WITH CHECK OPTION CONSTRAINT empview_ck; |
Departman id’si 16 olan personellerin departman numarasını 38 yapalım;
1 2 3 4 5 |
UPDATE persview SET dept_id=38 WHERE id=16; |
Bu durumda bu değişiklik tabiki yapılamaz.
WITH READ ONLY :View objesinin sadece okuma amaçlı olduğu belirtilir. Farklı bir işlem yapıldığında bunu engeller. Aslında kayıtlar üzerinde değişiklik yapılmasını engeller.
Örnek: Departman numarası 45 olan peroneller için perview isminde bir view olşturalım;
1 2 3 4 5 6 7 8 9 |
CREATE VIEW persview AS SELECT * FROM personel WHERE dept_id=41 WITH READ ONLY; |
Departman id’si 10 olan personellerin silinmesini sağlayalım;
1 2 3 |
DELETE FROM persview WHERE id=10; |
Bu durumda işlemi keser ve uyarı verir.
USER_VIEWS : Data dictionary tablosunda view tanımları bulunur. View adı, text uzunluğu ve text’I saklar.
VİEW_NAME : Kullanıcıya ait view adlarının tutar.
TEXT_LENGTH : Sql ifadenin uzunluğudur.
TEXT : Sql ifadedir.
DROP VİEW : Yaratılan view objesini siler.
Yazılımı;
1 |
DROP VIEW view_adı |
Leave a reply