Sobes.tech
Middle

Разлике између процедуре и функције

sobes.tech АИ

Одговор од АИ

Процедура i funkcija su podprogrami u bazama podataka i programiranju, ali između njih postoje ključne razlike:

  • Funkcija uvek vraća vrednost i može se koristiti u izrazima, na primer, u SELECT.
  • Procedura može izvršavati radnje (na primer, menjati podatke), ali nije obavezno da direktno vraća vrednost.

Primer u SQL (PL/pgSQL):

-- Funkcija vraća zbir dva broja
CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT AS $$
BEGIN
  RETURN a + b;
END;
$$ LANGUAGE plpgsql;

-- Procedura ubacuje zapis u tabelu
CREATE PROCEDURE insert_user(name TEXT) AS $$
BEGIN
  INSERT INTO users(username) VALUES (name);
END;
$$ LANGUAGE plpgsql;

Funkcije se obično koriste za računanja i vraćaju rezultat, procedure — za izvršavanje operacija, često sa sporednim efektima.