ORACLE – PL/SQL – VİEW İŞLEMLERİ

Merhabalar ,

Bu yazımda Oracle – PL/SQL ile view oluşturma ve silme işlemi ile alakalı bir örnek paylaşacağım.

View‘ler karmaşık yapıdaki sorguları basitleştirmek, erişim izinlerini düzenlemek, bazı durumlarda sorgu süresini kısaltmak için kullanılan, gerçekte olmayan Select ifadeleri ile tanımlanmış sanal tablolardır.

VIEW OLUŞTURMA :

--

CREATE VIEW sal_50
AS
   SELECT employee_id ID_NUMBER, last_name NAME , salary * 12 ANN_SALARY
   FROM Employees
   WHERE department_id = 50

--

Diğer Kullanımı sütun başlıklarını CREAT OR REPLACE ten sonra yazarak ta oluşturulabilir.

--

CREATE OR REPLACE VIEW sal_50 (ID_NUMBER ,NAME ,ANN_SALARY)
AS
   SELECT employee_id , last_name , salary * 12 
   FROM Employees
   WHERE department_id = 50

--

VIEW SILME:

--

DROP VIEW sal_50;

--

VIEW SORGULAMA:

--
SELECT * FROM sal_50; —

screenshot_12

VIEW HAKKINDA BILGI ALMA:

--
--Daha önceden oluşturmuş olduğumuz PERSON_SECURITY_VIEW view hakkında bilgi alma

SELECT dbms_metadata.getddl('VIEW','PERSON_SECURITY_VIEW') FROM DUAL;

--

screenshot_13

INLINE VIEW:

Normal yolla yapamadığımız bazı sorguların yapılmasına imkan verir , From keyword ‘ u ile birlikte tablo ismi yerine kullanılırlar. En önemli özelliği içerideki aliasları dışarı taşıyabilmemizdir.

--

SELECT a.last_name, a.salary, a.department_id, b.maxsal
FROM
employees a , 
(SELECT department_id,max(salary) maxsal FROM employees GROUP BY department_id) b
WHERE
    a.department_id = b.department_id 
AND a.salary < b.maxsal

--

screenshot_14

VIEW DML İŞLEMLERİNE KARŞI KORUMAK:

VIEW leri DML (insert,update,delete) operasyonlarına karşı engellemek.

--

CREATE OR REPLACE VIEW emp_10 (employee_number,emloyee_name,job_title)
AS
   SELECT employee_id, last_name, job_id
   FROM employees
   WHERE department_id = 10
   WITH READ ONLY;

--

Read only olarak oluşturduğumuz view üzerinde bir dml işlemi oluşturmaya çalıştığımızda Örn:

--

DELETE FROM emp_10
WHERE employee_number = 200;

--

Hata Olarak : ORA-42399 hatası verecektir.

screenshot_15

İşlemlerimizi bu kadar , İyi Çalışmalar 🙂 – Salih ŞEKER

Print Friendly, PDF & Email

You may also like...

Bir cevap yazın