Paketler

Paketler

Packages

projelerde çok sayıda fonksiyon ve procedure olabilir. Üretimin fonksiyonları nelerdir toparlayalım !
fonkskiyon ve procedurelerin ne için oluşturulduğunun bilinmesi gerekir.

paket (package) prosedur ve fonksiyonları bir arada toplar. 2 kısımdan oluşur spec ve body,
spec : tanımların tutulduğu yer.
body : kodların tutuldugu yer.

tanımda olan herşey body de olmak zorunda dışarı açılması istenmeyen program parçaları spec kısmına konulabilir.
Fonk ve prosedürü dışarı kapama şansı yoktur ama paket dışarı kapanabilir.

paket

procedure bu şekilde çalıştıramayız ya begin end arasında ya da exec ile çalıştırabiliriz.
paketten herhangi bir sey cagrıldıgında paketteki hersey memory ye yüklenir.
projelerde kendi başına fonk/proce olmamalı herşey paketlerde olmalı. Profesyonel projeler için herşeyi paket içinde oluşturmak en iyisi

Örnek :

UTL
oracle sunucuda fiziksel dosya açma okuma yazma işlemleri için kullanılır (CSV vb.) (sunucu üzerinde , client üzerinde değil)
mail göndermek için utl_mail
dosya okuma yazma işlemleri için utl_file

employees kayıtlarını okuyup bir text file yazdırmak için.
utl_file “c:” nin root una yazdıramazsınız ama bir direktory ye yazdırabilirsiniz.

create directory Raporlar as ‘/u02/UTL_Klasor’ ;
-kullanıcıya directory oluşturma izni verilebilir.
grant create any directory to kullanıcı_ismi;

ya da
system kullanıcısı ile directory oluşturup kullanıcıya okuma yazma hakkı verilir.
grant read,write on directory Raporlar to kullanıcı_adı ;

Kullanıcının(user) klasörü (directory) yoktur kim oluşturursa oluştursun sys ait görünüyor “dba_directories” den sorgulanabilir.

directory ismi mutlaka büyük harflerle yazılmalı