Middle
Prosedür ile fonksiyon arasındaki farklar
sobes.tech yapay zeka
AI'dan gelen yanıt
Procedure ve fonksiyon, veritabanları ve programlamada alt programlardır, ancak aralarında temel farklar vardır:
- Fonksiyon her zaman bir değer döner ve ifadelerde kullanılabilir, örneğin SELECT'te.
- Procedure ise işlemler yapabilir (örneğin, verileri değiştirebilir), ancak doğrudan bir değer dökmek zorunda değildir.
SQL (PL/pgSQL) örneği:
-- Fonksiyon iki sayının toplamını döner
CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT AS $$
BEGIN
RETURN a + b;
END;
$$ LANGUAGE plpgsql;
-- Procedure, tabloya kayıt ekler
CREATE PROCEDURE insert_user(name TEXT) AS $$
BEGIN
INSERT INTO users(username) VALUES (name);
END;
$$ LANGUAGE plpgsql;
Fonksiyonlar genellikle hesaplamalar için kullanılır ve sonuç döner, prosedürler ise işlemler için, genellikle yan etkilerle.