4.27 Proč nelze použít COMMIT, ROLLBACK v PL/pgSQL?: Porovnání verzí

Z PostgreSQL
Skočit na navigaci Skočit na vyhledávání
imported>Pavel
 
(Žádný rozdíl)

Aktuální verze z 18. 2. 2012, 09:35

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.