PL/ SQL Bloğu: YAPI, Sözdizimi, ANONYMOUS Örnek
PL/SQL bloğu nedir?
PL/SQL'de kod tek satır formatında yürütülmez, ancak her zaman kodun Bloklar adı verilen tek bir öğe halinde gruplanmasıyla yürütülür. Bu derste bu bloklar hakkında bilgi edineceksiniz.
Bloklar hem PL/SQL hem de SQL talimatlarını içerir. Tüm bu talimatlar, tek seferde tek bir talimatın yürütülmesi yerine bir bütün olarak yürütülecektir.
Blok Yapısı
PL/SQL blokları, kodun gruplandırılacağı önceden tanımlanmış bir yapıya sahiptir. Aşağıda PL/SQL bloklarının farklı bölümleri bulunmaktadır.
- Beyan bölümü
- Yürütme bölümü
- İstisna İşleme bölümü
Aşağıdaki resim farklı PL/SQL bloğunu ve bunların bölüm sırasını göstermektedir.
Beyan Bölümü
Bu PL/SQL bloklarının ilk bölümüdür. Bu bölüm isteğe bağlı bir bölümdür. Blokta ihtiyaç duyulan değişkenlerin, imleçlerin, istisnaların, alt programların, pragma talimatlarının ve koleksiyonların bildirimlerinin yapılacağı bölümdür. Aşağıda bu bölümün birkaç özelliği daha verilmiştir.
- Bu özel bölüm isteğe bağlıdır ve herhangi bir bildirim gerekmiyorsa atlanabilir.
- Bu, eğer varsa, bir PL/SQL bloğundaki ilk bölüm olmalıdır.
- Bu bölüm, tetikleyiciler ve anonim engelleme için 'DECLARE' anahtar kelimesiyle başlar. Diğer alt programlar için bu anahtar kelime mevcut olmayacaktır. Bunun yerine, alt program adı tanımından sonraki kısım bildirim bölümünü işaretler.
- Bu bölümü her zaman yürütme bölümü takip etmelidir.
Yürütme Bölümü
Execution kısmı aslında içine yazılan kodu çalıştıran ana ve zorunlu kısımdır. Beri PL / SQL bu bloktan yürütülebilir ifadeler bekler, bu boş bir blok olamaz, yani içinde en az bir geçerli yürütülebilir kod satırı bulunmalıdır. Aşağıda bu bölümün birkaç özelliği daha verilmiştir.
- Bu hem PL/SQL kodunu hem de SQL kodunu içerebilir.
- Bu, iç içe geçmiş bir blok olarak içinde bir veya daha fazla blok içerebilir.
- Bu bölüm 'BEGIN' anahtar kelimesiyle başlar.
- Bu bölümün ardından 'END' veya İstisna İşleme bölümü (varsa) gelmelidir.
İstisna İşleme Bölümü
Çalışma zamanında ortaya çıkan programda istisna kaçınılmazdır ve bu durumu ele almak Oracle bloklar halinde bir İstisna işleme bölümü sağlamıştır. Bu bölüm aynı zamanda PL/SQL deyimlerini de içerebilir. Bu, PL/SQL bloklarının isteğe bağlı bir bölümüdür.
- Bu, yürütme bloğunda ortaya çıkan istisnanın işlendiği bölümdür.
- Bu bölüm PL/SQL bloğunun son kısmıdır.
- Bu bölümdeki kontrol hiçbir zaman yürütme bloğuna geri dönemez.
- Bu bölüm 'İSTİSNA' anahtar kelimesiyle başlar.
- Bu bölümün ardından her zaman 'SON' anahtar kelimesi gelmelidir.
'END' Anahtar Kelimesi PL/SQL bloğunun sonunu işaret eder.
PL/SQL Blok Söz Dizimi
Aşağıda PL/SQL blok yapısının sözdizimi verilmiştir.
DECLARE --optional
<declarations>
BEGIN --mandatory
<executable statements. At least one executable statement is mandatory>
EXCEPTION --optional
<exception handles>
END; --mandatory
/
Not: Bir bloğun ardından her zaman, derleyiciye bloğun sonu hakkında bilgi gönderen '/' gelmelidir.
PL/SQL bloğu türleri
PL/SQL blokları temel olarak iki tiptedir.
- Anonim bloklar
- Adlandırılmış Bloklar
Anonim bloklar
Anonim bloklar, kendilerine herhangi bir ad atanmamış PL/SQL bloklarıdır. Sunucuda veritabanı nesneleri olarak saklanmayacakları için aynı oturumda oluşturulmaları ve kullanılmaları gerekir.
Veritabanında saklanmalarına gerek olmadığından derleme adımlarına ihtiyaç duymazlar. Doğrudan yazılır ve yürütülürler ve derleme ve yürütme tek bir işlemde gerçekleşir.
Aşağıda Anonim blokların birkaç özelliği daha bulunmaktadır.
- Bu blokların kendileri için belirlenmiş herhangi bir referans adı yoktur.
- Bu bloklar 'DECLARE' veya 'BEGIN' anahtar kelimesiyle başlar.
- Bu blokların herhangi bir referans adı olmadığından, bunlar daha sonraki amaçlar için saklanamaz. Aynı oturumda oluşturulmalı ve yürütülmelidir.
- Diğer isimli blokları çağırabilirler fakat isimsiz bloğa çağrı herhangi bir referansı olmadığı için mümkün değildir.
- İçinde adlandırılabilen veya anonim olabilen iç içe geçmiş blok bulunabilir. Ayrıca herhangi bir blokta yuvalanabilir.
- Bu bloklar, yürütme bölümünün zorunlu olduğu bloğun üç bölümünün tamamına sahip olabilir, diğer iki bölüm isteğe bağlıdır.
Adlandırılmış bloklar
Adlandırılmış blokların kendilerine özel ve benzersiz bir adı vardır. Sunucuda veritabanı nesneleri olarak depolanırlar. Veritabanı nesneleri olarak mevcut olduklarından, sunucuda mevcut oldukları sürece bunlara başvurulabilir veya kullanılabilirler. Adlandırılmış blokların derleme işlemi, bunları veritabanı nesneleri olarak oluştururken ayrı ayrı gerçekleşir.
Aşağıda Adlandırılmış blokların birkaç özelliği daha verilmiştir.
- Bu bloklar diğer bloklardan çağrılabilir.
- Blok yapısı, hiçbir zaman 'DECLARE' anahtar kelimesiyle başlamaması dışında, anonim bir blokla aynıdır. Bunun yerine, derleyiciye onu bir veritabanı nesnesi olarak oluşturma talimatını veren 'CREATE' anahtar kelimesiyle başlayacaktır.
- Bu bloklar diğer blokların içine yerleştirilebilir. Ayrıca iç içe geçmiş bloklar da içerebilir.
- Adlandırılmış bloklar temel olarak iki türdendir:
- Prosedür
- İşlev
Bu adlandırılmış bloklar hakkında daha detaylı bilgiyi daha sonraki derslerimizde yer alan “Prosedür” ve “Fonksiyon” konularında öğreneceğiz.
ÖZET
Bu eğitimden sonra PL/SQL blokları ve türleri, blokların farklı bölümleri ve kullanımları hakkında bilgi sahibi olmalısınız. Adlandırılmış PL/SQL bloklarının detaylı açıklaması sonraki eğitimde ele alınacaktır.


