Odpovědi podle čísla:
-
Ne; pokud
S2selže, celá transakce bude přerušena a lze ji pouze vrátit zpět. -
Pravděpodobně došlo k nedorozumění. Příkaz SQL
BEGINkterý zahajuje transakci, je něco zcela jiného nežBEGINkterý spustí blok PL/pgSQL. Ten druhý ne zahájit transakci.Pokud nebyl žádný explicitní příkaz SQL
BEGIN, každý příkaz běží ve své vlastní transakci („autocommit“).Všechny příkazy ve funkci jsou provedeny v jediné transakci.
-
Nemůžete mít
COMMIT(neboROLLBACK) ve funkci. -
Ano. Toto je stejná otázka jako 1., pouze v záporu.