Sobes.tech
Middle

Unterschiede zwischen Prozedur und Funktion

sobes.tech KI

Antwort von AI

Funktion und Prozedur sind Unterprogramme in Datenbanken und Programmierung, aber es gibt wichtige Unterschiede:

  • Funktion gibt immer einen Wert zurück und kann in Ausdrücken verwendet werden, z.B. in SELECT.
  • Prozedur kann Aktionen ausführen (z.B. Daten ändern), ist aber nicht verpflichtet, direkt einen Wert zurückzugeben.

Beispiel in SQL (PL/pgSQL):

-- Die Funktion gibt die Summe zweier Zahlen zurück
CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT AS $$
BEGIN
  RETURN a + b;
END;
$$ LANGUAGE plpgsql;

-- Die Prozedur fügt einen Datensatz in die Tabelle ein
CREATE PROCEDURE insert_user(name TEXT) AS $$
BEGIN
  INSERT INTO users(username) VALUES (name);
END;
$$ LANGUAGE plpgsql;

Funktionen werden meist für Berechnungen verwendet und liefern ein Ergebnis, Prozeduren — für Operationen, oft mit Nebenwirkungen.