Antwoorden op nummer:
-
Nee; als
S2
mislukt, wordt de hele transactie afgebroken en kan alleen worden teruggedraaid. -
Er is waarschijnlijk een misverstand. De SQL-instructie
BEGIN
waarmee een transactie wordt gestart, is iets heel anders dan deBEGIN
waarmee een PL/pgSQL-blok wordt gestart. De laatste doet niet een transactie starten.Als er geen expliciete SQL-opdracht was
BEGIN
, elk afschrift loopt in zijn eigen transactie (“autocommit”).Alle instructies in een functie worden uitgevoerd in een enkele transactie.
-
U kunt geen
COMMIT
. hebben (ofROLLBACK
) in een functie. -
Ja. Dit is dezelfde vraag als 1., alleen negatief.