Bu Kategoriye İçerik Girin veya Soru Sorun

Kategori İçi Sözlük

Bu Sayfayı Paylaş:

Fonksiyon

Tanım: Oracle'da isim verilerek saklanan ve istenildiği zaman parametrelerle çağrılan , belirli bir görevi görme amacıyla yaratılmış , geriye tek bir değer döndüren alt program

Fonksiyonun Yapısı , Yaratılması ve Çalıştırılması

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;
/

Fonksiyon Parametre Tipleri

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

HR Employees Tablsounda Bir Kayıdın Salary Değerini Alan Örnek

Aşağıda HR schemas'ında Employees tablsounda bir kayıtın Salary değerini alan fonksiyon örneği görülmektedir :
CREATE OR REPLACE function GET_EMPLOYEES_SALARY(eId in number)    
return number 
is
e_salary number(8,2);
begin
select salary into e_salary from employees where employee_id=eId;
return e_salary;
end;
/
Yukarıdaki, fonksiyon parametre olarak employee id almakta ve bu satırın salary değerini geri döndürmektedir. Aşağıdaki gibi kullanılabilir:
declare
r_salary number(8,2);
begin
r_salary:=GET_EMPLOYEES_SALARY(100);
dbms_output.put_line(r_salary);
end;
/




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir