4.27 Proč nelze použít COMMIT, ROLLBACK v PL/pgSQL?

Z PostgreSQL
Verze z 18. 2. 2012, 08:35, kterou vytvořil imported>Pavel (Stránka 4.26 Proč nelze použít COMMIT, ROLLBACK v PL/pgSQL? přemístěna na stránku 4.27 Proč nelze použít COMMIT, ROLLBACK v PL/pgSQL?)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání

PostgreSQL nepodporuje autonomní transakce uvnitř uložených procedur. Podobně jako zpracování SQL příkazů v PostgreSQL, že každá funkce poběží uvnitř transakce, ale není možné tuto vnější transakci obejít.

Pokud nutně potřebujete řídit transakce z uložených procedur, lze použít dblink, případně použít skript (kód) z klienta. V řadě situací ovšem postačí subtransakce, které jsou v PL/pgSQL k dispozici implicitně - každý blok BEGIN/EXCEPTION/END vytváří subtransakci.