Merhabalar ,

Bu yazımda oracle da fonksyonlar nedir nasıl kullanılır bu konulara değineceğiz.

Fonksiyonlar Sql işlemlerimiz kolaylaştırmak için ve sürekli olarak yapılan işlemleri tekrar tekrar kod yazmamak için kullanılır .

Fonksiyonların Özellikleri :

  • Bir PLSQL Bloğudur.
  • Geriye bir değer dönmelidir.
  • Veritabanında compile edilerek (derlenerek) saklanır.
  • İçerisinde bir RETURN olmak zorundadır.
  • Fonksiyonlar HER ZAMAN değer döndürmek zorundadır.
  • Fonksiyon içerisinede INSERT,UPDATE ve DELETE işlemleri yapılmaz , SELECT ile kullanılır.

Örn :

--

CREATE OR REPLACE FUNCTION VergiUygula(deger IN NUMBER)
RETURN NUMBER
IS
BEGIN
   RETURN (deger * 0.08);
END;

--

VergiUygula adında bir fonksiyon oluşturduk , deger adında bir number tipinde parametre almakta geriye number bir değer döndürmektedir.

şimdi bu fonksiyonumuzu kullanan bir örnek yapalım:

--

SELECT Employee_ID , Last_Name , Salary , VergiUygula(Salary)
FROM Employees
WHERE Department_ID = 100;

--

screenshot_18

 

OUT Parametresi Kullanımı :

bu parametre ile fonksiyona gönderilen parametre değişkenindeki değeri fonksiyon içerisinde kullanmıyor , fakat değişkene fonksiyon içerisinde farklı değerler atanır ise o değer fonksiyon dışında da etkileniyor.

Örnek üzerinden açıklayayım :

--

CREATE OR REPLACE FUNCTION out_func (outparm OUT VARCHAR2)
RETURN VARCHAR2
IS
BEGIN
   outparm := 'out param'; -- dışardan gelen değeri hiç kullanmadan yeni bir değere atatık
   RETURN 'return param';
END out_func;


--

şimdi bu fonksiyonu kullanalım :

--

DECLARE 
   retval VARCHAR2(20);
   outval VARCHAR2(20);
BEGIN
   retval := out_func(outval);
   dbms_output.put_line(outval);
   dbms_output.put_line(retval);
END;

--

Çıktı :

screenshot_19

 

fonksyon şu işlemi yaptı outval olarak gönderdiğimiz parametrenin değerini değiştirdi fakat return olarak return param gönderdi ve dönen değeri retval değişkenine yazdı.

görünürde outval değişkenine herhangi bir değer yazılmadı , ama fonksiyonda yapılan işlemde giriş değişkeni olarak gelen değişkenin değer ataması yapılıyor ve sonuç ekran görüntüsündeki gibi çıkıyor.

Bu yazımda anlatacaklarım bu kadar , umarım faydalı olmuştur , iyi çalışmalar 🙂 – Salih ŞEKER

 

Print Friendly, PDF & Email
Bu alana reklam verebilirsiniz!