ben

OMÜ , Bilgisayar Mühendisliği, 13'

3 Mart 2022 Perşembe

Procedure Giriş


Procedure işlemleri ile veri tabanında bulunan veriler ile işlemler yapabilmemizi fonksiyonel programlama yapabileceğimiz yapılardır. Procedure ile Kullanıcı tanımlı fonksiyonların temel farkı; procedure yapılarında daha çok veri tabanına bağlı sorguların yer aldığı program parçacıklarını yazdığımız yapılardır. Kullanıcı tanımlı fonksiyonlarda ise sql sorgularıyla tablo ve verilere bağlanmaz, sadece gelen parametreler ile fonksiyon işlevi yerine getirilir ve return ile sonuç döndürülür. Örneğin; son 1 hafta içinde yayınlanan filmleri getiren yapı dediğimizde bunu procedure ile yapmamız gerektiğini, verilen sayının faktöriyelini hesaplayan yapı dediğimizde fonksiyon yazmamız gerektiğini bilmeliyiz.

Parametresiz procedure yapısı için ; ekrana şuanki tarih ve zamanı yazdıran procedure yazmak için;

create procedure sp_suan()
language plpgsql
as $$
begin
     raise notice 'Şuan: %',current_date;
end; $$

Procedure yapımız oluştu. BU proceduru pgAdmin ile yapmak istersek;



açılan pencerede procedure yapısına isim verelim


definition kısmından dili seçelim.


code kısmına procedure içerisine yazdığımız kodu yazalım.


Her iki şekildede procedure aynı şekilde oluşturulacaktır. iki procedure yapısınıda çağırabiliriz.

call sp_suan();
call sp_suanzaman();


Eğer yazdığınız procedure yapısının içeriğini güncellemek istersek;

* Procedure komutları hala ekranımızda ise create procedure yerine create or replace procedure yazmamız ve procedure içerisinde değişiklikler yapmamız yeterlidir.
* Procedure kodlarının olduğu ekranı kapattıysak, procedure sağ tıklayarak properties sekmesi ile açılan ekrandaki code bolumunde istediğiniz değişikliği yapabiliriz.


Procedure yapısını silmek istersek;

* sql query tool ekranına drop sp_suan() yazmanız yeterelidir.
* pgAdmin ekranı ile silmek isterseniz procedure yapısına sağ tıklayarak delete/drop sekmesi ile silebiliriz.

Hiç yorum yok: