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.