PL/SQL Nedir? PL/SQL Programlama — 1

Gökhan YAVAŞ
gokhanyavas
Published in
2 min readJan 16, 2017

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?

  1. 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.
  2. Tek seferde birden fazla işlem yapabilme, daha hızlı sonuç alma.
  3. Oracle Forms, Oracle Report gibi iş araçlarına entegre olması.
  4. 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:

  1. DECLARE: Değişkenlerin bildirildiği kısım.
  2. 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.
  3. 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.

--

--