PL/SQL NEDİR?

Herkese merhabalar. Pl sql ile ilgili yeni bir yazı dizisine başlıyorum. İlk olarak pl sql nedir, ne değildir biraz tanımını yapalım.

PL= Procedural Language 
SQL= Structured Query Language

Prosedürel Yapısal Sorgulama Dili

Oracle şirketi tarafından SQL'in kısıtlamalarının üstesinden gelmek için oluşturulan Oracle sistemlerine özel bir dildir. Ama kesinlikle C, Visual Basic gibi bir programlama dili değil; sorgulama dilidir. 

PL/SQL'in karasteristik özellikleri:

  • PL/SQL prosedürel bir dildir. (if/else, for veya while gibi döngü veya kontrol mekanizmalarına izin verir. Sql ise izin vermez.
  • Çok iyi derecede yapılandırılmış, okunabilir, erişilebilir bir dildir.
  • Oracle geliştirme için standart ve taşınabilir bir dildir. Örneğin; kendi bilgisayarınızdaki Oracle database'de yazdığınız bir prosedür veya fonksiyonu ortak ağınızdaki başka bir database'e taşıyabilir, hiçbir değişiklik yapmadan çalıştırabilirsiniz. 
  • PL/SQL programları genellikle veritabanında saklanırlar. Bu nedenle sorguların istemciden veritabanına gönderilmesi, veritabanından istemciye gönderilmesine gerek yoktur. Böylece ağ trafiği azalmış olur.
  • PL/SQL gömülü bir dildir. Yani PL/SQL programlarını Oracle database'de çalıştırabilirsiniz; Oracle developer form veya report üzerinde PL/SQL programları tanımlayabilir ve çalıştırabilirsiniz. Yani çalışması için bir aracıya ihtiyacı vardır, exe dosyalar gibi tek başına çalışamaz.
  • Yüksek peformansa sahip bir dildir.
  • Exception handling ile hata yakalayabilir, işlemler tanımlayabilirsiniz.

Blok Yapısı

PL/SQL; SQL cümlelerine blok yapılarının, şart cümlelerinin, döngülerin v.b diğer özelliklerin eklenmesiyle  oluşmuş bir dildir. En temel yapı birimi bloktur. Bir veya birden fazla bloktan oluşabilirler. Akış kontrolü  sayesinde yapısal dillere ait olan şart cümleleri ve döngüler PL/SQL bloklarında kullanılabilir. Böylece  yazılan programlar çok etkin ve hızlı hale gelmektedir.Eğer bu özellik olmasaydı SQL cümlelerini ayrı ayrı  yazmak ve çalıştırmak gerekecekti. Bu da performansı arttıran etkenlerden bir tanesidir.

Blok ise birbirleriyle ilişkili ifadelerin mantıksal bölümlere ayrılması demektir. Değişken tanımlamaları ve hata  kontrolleride her blok içerisinde yapılabilir.



Header bölümünde Prosedür ismi, Fonksiyon ismi yazılabilir veya hiçbir şey yazılmadan blok begin'den başlayabilir.
Declare section'da blok içerisinde kullanılacak olan değişken veya cursor'ler tanımlanır.
BEGIN - END; bloğu arasında pl/sql, sql kodları; if/else gibi kontrol yapıları ve döngüler yer alır. 
EXCEPTION'da ise Oracle tarafından tanımlanmış hata bildirimlerini, kendinizin oluşturduğu hata bildirimlerini veya bir hata çıktığında ne yapılması gerektiği belirtebilirsiniz.

Blok yapısının amaca göre farklı kullanımları:






Yorumlar

Bu blogdaki popüler yayınlar

Natural Key ve Surrogate Key Nedir?

PL/SQL'de DEĞİŞKEN TANIMLAMA, EKRANA YAZI YAZDIRMA ve GÜNCELLEME

SQL Server Analysis Services 2012’de Multidimensional Model ve Tabular Model