Programlamada Prosedürler ve Fonksiyonlar Arasındaki Fark

Programlamadaki Prosedürler ve Fonksiyonlar

Programlamadaki Prosedürler ve Fonksiyonlar, programcıların talimatları tek bir blokta gruplamasına izin verir ve programın çeşitli yerlerinden çağrılabilir. Kodun anlaşılması daha kolay ve daha kompakt hale gelir. Değişiklikleri tek bir yerde yaparak kodun tamamı etkilenir. Fonksiyonlar ve prosedürler yardımıyla; doğrusal ve uzun bir kod bağımsız bölümlere ayrılabilir. Çeşitli programlama dillerinin ve veritabanlarının kodlanmasına daha fazla esneklik sağlar.

Fonksiyonlar nelerdir?

Fonksiyonlar, argüman olarak da bilinen parametreleri kabul edebilir. Görevleri bu argümanlara veya parametrelere göre yaparlar ve verilen tiplerin değerlerini döndürürler. Bunu bir örnek yardımıyla daha iyi açıklayabiliriz: Bir işlev, bir dizeyi parametre olarak kabul eder ve veritabanından ilk girişi veya kaydı döndürür. Bu tür karakterlerle başlayan belirli bir alanın içeriğini dikkate alır.

İşlev sözdizimi aşağıdaki gibidir:

FONKSİYON OLUŞTUR VEYA DEĞİŞTİR my_func

(p_name IN VARCHAR2: = 'Jack') varchar2 işlevini start… end olarak döndür

Prosedürler nelerdir?

Prosedürler parametreleri veya bağımsız değişkenleri kabul edebilir ve bu parametrelere göre görevleri yerine getirir. Bir yordam bir dizeyi parametre olarak kabul ederse ve belirli bir alanın içeriğinin bu tür karakterlerle başladığı veritabanındaki kayıtların bulunduğu bir liste verirse.

Prosedürlerin sözdizimi aşağıdaki gibidir:

PROSEDÜR OLUŞTUR VEYA DEĞİŞTİR my_proc

(p_name IN VARCHAR2: = 'Jack') başlangıç… bitiş

Temel olarak, bir parametrenin işlevlerde ve prosedürlerde geçirilmesinin iki yolu vardır; değere veya referansa göre. Parametre bir değer tarafından iletilirse; modifikasyon, fonksiyon veya prosedür içerisinde gerçek değerini etkilemeden etkilenir.

Öte yandan, parametreler referanslarla iletilirse; bu parametrenin gerçek değeri, talimatlar uyarınca kod içinde çağrıldığı her yerde değiştirilecektir..

Prosedürler ve fonksiyonlar arasındaki fark

• Parametre işleme geçirildiğinde; herhangi bir değer döndürmezken işlev her zaman bir değer döndürür.

• Her ikisinde de en büyük farklardan biri, prosedürlerin veritabanlarında kullanılmaması, fonksiyonların veritabanından değer döndürmede önemli bir rol oynamasıdır..

• Prosedürler birden fazla değer döndürebilir ve fonksiyonlar sınırlı değerler döndürebilir.

• DML işlemleri saklı yordamlarda kullanılabilir; ancak, işlevlerde mümkün değildir.

• İşlevler yalnızca bir değer döndürebilir ve zorunludur, ancak yordamlar n veya sıfır değerleri döndürebilir.

• Fonksiyonlarda, hata işleme yapılamazken, saklı yordamlarda gerçekleştirilebilir.

• Giriş ve çıkış parametreleri prosedürlerde aktarılabilirken, fonksiyonlarda; sadece giriş parametreleri iletilebilir.

• Fonksiyonlar prosedürlerden çağrılabilirken, fonksiyondan bir prosedür çağrılması mümkün değildir.

• İşlem yönetimi prosedürlerde dikkate alınabilir ve fonksiyonlarda dikkate alınamaz..