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