Hallo Baldur,
ich habe gerade mal ChatGPT gefragt. Die KI ist der Meinung, dass es klappt:

Ja, es ist möglich, die Updates in einer Transaktion innerhalb der SQL UDF zusammenzufassen, um sicherzustellen, dass alle Updates erfolgreich sind oder alle Änderungen zurückgerollt werden, wenn ein Fehler auftritt.
Sie können die UDF wie folgt ändern, um die Transaktion hinzuzufügen:
CREATE FUNCTION update_two_tables (IN param1 VARCHAR(10), IN param2 VARCHAR(10))
RETURNS VARCHAR(10)
LANGUAGE SQL
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION, SQLWARNING ROLLBACK;

START TRANSACTION;

UPDATE table1 SET column1 = 'new value' WHERE column2 = param1;
UPDATE table2 SET column3 = 'new value' WHERE column4 = param2;

COMMIT;

RETURN 'success';
END;
In diesem Beispiel wird eine Transaktion mit "START TRANSACTION" gestartet und mit "COMMIT" abgeschlossen. Wenn während der Ausführung der UDF ein Fehler auftritt, wird die Transaktion mit "ROLLBACK" zurückgerollt.
Durch Hinzufügen der Transaktion stellen Sie sicher, dass beide Updates erfolgreich sind oder beide fehlschlagen, wenn ein Problem auftritt.


Hast du meine Frage vielleicht missverstanden? Es geht mir nicht um embedded SQL.

Vielleicht stimmt es natürlich auch nicht, was die KI sagt.

Ich habe den Code noch nicht ausprobiert.