4.27 Proč nelze použít COMMIT, ROLLBACK v PL/pgSQL?
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.