PL/SQL Nedir? PL/SQL Programlama — 1
Yeni bir konuyla geri döndüm. SQL makalelerimi okuduysanız fark etmişsinizdir olayı ne kadar basitleştirip anlattığımı :) PL/SQL Programlama makalelerim içinde konuyu uzatmadan teyzelerin bile anlayacağı şekilde anlatacağım. Öncelikle PL/SQL ‘in ne olduğunu açıklayalım.
PL/SQL Nedir?
PL/SQL yapısal dillere ait özelliklerin SQL’e eklenmesiyle ortaya çıkmış bir programlama dilidir. Oracle tarafından geliştirilen PL/SQL’in açılımı Procedural Language/Structured Query Language dir. PL/SQL programları veritabanında saklanır. PL/SQL kategorisi altında aşağıdaki konuları inceleyeceğiz:
- Block Structure (Blok Yapısı)
- Variables and Types (Değişkenler ve Tipleri)
- Conditional Logic (Koşullu Mantık)
- Loops (Döngüler)
- Cursors (İmleçler)
- Procedures (Prosedürler)
- Functions (Fonksiyonlar)
- Packages (Paketler)
- Triggers (Tetikleyiciler)
PL/SQL programlamaya başlamadan önce lütfen SQL makalelerimi okuyunuz.
PL/SQL Faydaları Nedir?
- SQL prosedürel bir yapıya sahip değilken, PL/SQL prosedürel bir yapıya sahiptir. Yani if else, for, while kontrol mekanizmalarına izin verir.
- Tek seferde birden fazla işlem yapabilme, daha hızlı sonuç alma.
- Oracle Forms, Oracle Report gibi iş araçlarına entegre olması.
- Loglama işlemlerinin yapılması gibi vb. birçok fayda sayılabilir.
Hazırsanız PL/SQL Blok Yapısını inceleyelim:
Block Structure (Blok Yapısı)
Adındanda anlaşılacağı üzere her PL/SQL programı içinde SQL ve PL/SQL ifadeleri barındırır. İşte bunlar PL/SQL bloğunu oluşturur. PL/SQL bloğu 3 adımda oluşur:
- DECLARE: Değişkenlerin bildirildiği kısım.
- BEGIN: PL/SQL bloğu begin anahtar kelimesi ile başlar END anahtarıyla biter. Programın genel mantığı bu kısımdadır. Bu kısımda: SQL sorguları, Döngüler, Şartlı ifadeleri içerir.
- EXCEPTION: İstisna Durumların olacağı kısım. Programdaki hata bu kısımda ayrıştırılır.
Blok yapısı syntax:
[DECLARE
declaration_statements -- bildirim deyimleri
] BEGIN
executable_statements -- yürütülebilir deyimleri
[EXCEPTION
exception_handling_statements -- özel durumlar
] END; /
Her deyim ; (noktalı virgül) ile sonlanır. Ayrıca PL/SQL bloğu eğik çizgi (/) karakteri ile sonlanır. PL/SQL derinlerine inmeden önce basit bir örnek verelim:
DECLARE
mesaj varchar2(20):= 'Merhaba, Dünya!';
BEGIN
dbms_output.put_line(mesaj);
END;
/
Örnekte, mesaj adında bir değişken tanımlayıp bu mesajın ekrana yazdırılmasını programladık. Örnek çok basit geldiyse, aşağıdakini anlamaya çalışın.
DECLARE
SAL EMPLOYEES.SALARY%TYPE;
LNAME EMPLOYEES.LAST_NAME%TYPE;
EMPID EMPLOYEES.EMPLOYEE_ID%TYPE := &IDGIR;
BEGIN
SELECT LAST_NAME,SALARY
INTO LNAME,SAL
FROM EMPLOYEES
WHERE employee_id=EMPID;
DBMS_OUTPUT.PUT_LINE(LNAME || ' ' || SAL);
END;
Örneği inceledikten sonra birçok şeyi anlamamış olabilirsiniz. Merak etmeyin bir sonraki yazımda değişkenleri inceledikten/öğrendikten sonra aslında programın çokta karmaşık olmadığını anlayacak seviyede olacaksınız.