Guten Morgen in die neue Woche!

Ich hätte nicht gedacht, dass eine Transaktion in einer Datenbanksprache wie SQL ein Problem sein würde. Wenn ich das alles lese, glaube ich allerdings, dass ich es in meinem Fall auch ohne Transaktion gehen wird.

Zu dem Thema, ob die UDF nicht eine UPD sein müsste und dass Funktionen nur (einzelne) Daten lesen sollten:

Ich sehe zwischen Funktionen und Procedures keinen gravierenden Unterschied. Eine Funktion hat den Vorteil, dass man zusätzlich zu den Input-Parametern noch einen Rückgabewert bekommt. Das ist hilfreich, weil ich bei Schreiboperationen gerne einen Erfolg oder Misserfolg der Operation zurückbekommen möchte.

Außerdem kann ich Funktione auch im interaktiven SQL einsetzen. Bei UDPs geht das ja nicht bzw. es macht meistens keinen Sinn, da ich ja keine Rückgabewerte bekomme.