PL-SQL'de Paketler(Packages)

Hiç yorum yok
Paketler, mantıksal olarak ilişkili PL/SQL tipleri, alt programları gruplayan bir şema nesnesidir. Çoğu zaman sıklıkla ya da belirli bir işlem için kullanılan birden fazla veri tabanı işlemimiz var ise (procedure, function vb.) bu işlemlerin hem kullanımı hem de kolay takibi için paket yapısı kullanılır. Bize avantajları modülerlik, kolay uygulama dizaynı, bilgi saklama, iyi performans ve fonksiyonellik ekleme olarak sıralanabilir. Paketler genellikle iki kısımdan oluşur.Bunlar gövde(body) ve paket spec(specification) ifadeleridir. Spec, uygulamalarımız için ara yüzdür ve tipler, değişkenler, sabitler, aykırı durumlar, imleçler ve alt programlar için kullanılabilir. Gövde bölümü ise imleç ve alt programların tanımlandığı bölümdür.
Sistemde kayıtlı paketler bulunmaktadır. Bunlar:
·         DBMS_OUTPUT – en çok bilinen, verileri ekranda göstermek için gerekli paket.
·         DBMS_PIPE – PIPE ile haberleşmeyi sağlar
·         DBMS_LOCK – Kullanıcı kilitlerini yönetir.
·         DBMS_ALERT—Spesifik veri tabanı değerleri değiştiğinde veri tabanı tetikleyicileri için alert kullanabilirsiniz..
·         UTL_FILE – PL/SQL kodlarını İşletim sistemi dosyalarına yazmak ve okumak için.
·         UTL_HTTP – PL/SQL kodlarıyla http protokolü belirtme çizgileri oluşturmak.
Paket yapısının söz dizimi aşağıdaki gibidir.
 CREATE [OR REPLACE] PACKAGE isim
  [AUTHID {CURRENT_USER | DEFINER}]
 {IS | AS}
 [PRAGMA SERIALLY_REUSABLE;
   [collection_type_tanımlama ...]
 [record_type_ tanımlama ...]
 [subtype_ tanımlama ...]
 [collection_ tanımlama ...]
 [constant_ tanımlama...]
 [exception_ tanımlama ...]
 [object_ tanımlama ...]
[record_ tanımlama ...]
 [variable_ tanımlama ...]
 [cursor_spec ...]
 [function_spec ...]
 [procedure_spec ...]
 [call_spec ...]
[PRAGMA RESTRICT_REFERENCES(assertions) ...]
END [paket_ismi];
 [CREATE [OR REPLACE] PACKAGE BODY paket_ismi {IS | AS}
 [PRAGMA SERIALLY_REUSABLE;]
 [collection_type_tanımlama ...]
[record_type_tanımlama ...]
 [subtype_ tanımlama ...]
 [collection_ tanımlama ...]
 [constant_ tanımlama ...]
[exception_ tanımlama ...]
 [object_ tanımlama ...]
 [record_ tanımlama ...]
 [variable_ tanımlama ...]
[cursor_body ...]
 [function_spec ...]
 [procedure_spec ...]
 [call_spec ...]
[BEGIN
--Cümlelerin sırası
END [paket_ismi];]
 ·         Örnek: İçerisinde iki değer ve işlem girilip toplama ve çıkarma işlemi yapılan paket kodunu yazınız.
 /* Paket Spec tanımlanıyor. */

Hiç yorum yok :

Yorum Gönder