Oracle'da bir fonksiyonu yapısı (yaratırken veya değiştirirken) aşağıdaki gibidir :
CREATE [VEYA REPLACE] FUNCTION fonksiyon_adı [(parametreler...)]
RETURN donus_tipi
IS
Deklerasyon Bölümü
BEGIN
Çalışan Bölüm
EXCEPTION
Exception oluştuğunda çalışan bölüm
END [fonksiyon_adi];
Not : [] içindekiler isteğe bağlı kullanım anlamına gelmektedir
Aşağıda aldığı isme HELLO diyen ve mesajı geri döndüren fonksiyon aşağıdaki gibidir
CREATE OR REPLACE function HELLO(firstname in varchar2)
return varchar2
is
gr varchar2(100) := 'HELLO' || firstname;
begin
return gr;
end;
/
Bir fonksiyon aşağıdaki gibi çalıştırılabilir :
Yukarıdaki örnek aşağıdaki gibi çalıştırılabilir:
declare
gr varchar2(50);
begin
gr:=HELLO('Sultan Aybek');
dbms_output.put_line(gr);
end;
/
Oracle'de bir fonksiyona üç tip parametere verilebilir :
- IN : Fonksiyona değişken vermek için kullanılır. Değişkenin referansı fonksiyona verilir. Fonksiyona değişkeni değiştiremez (read only'dir). Varsayılan olarak parametreler IN'dir
- OUT : Fonksiyon'da ana dönüş dışında dönüş almak için kullanılır. Değişkenin referansı değil kopyası fonksiyona verilir. Fonksiyon out parametrelerin değerlerini değiştirebilir
- IN OUT : Fonksiyona değişkenin referansı verilir ve fonksiyon değişkenin değerini değiştirebilir