> Ciertamente no puedes hacer un ROLLBACK ni COMMIT dentro de una
> funcion, pero si lo que quieres es detectar algun error pudieras
> probar la clausula EXCEPTION la cual usa internamente un SAVEPOINT
> http://www.postgresql.org/docs/8.2/interactive/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
>
No sabía lo del SAVEPOINT con la cláusula EXCEPTION, gracias por
puntualizarlo.
> Creo que lo mejor es que no solo tengas una funcion, mas bien varias
> y que ejecuten una accion especifica. Asi sabras que fue lo que fallo
> y desde ahi decidir que hacer.
Tienes razón. Había pensado en ello pero por avanzar he escrito el
código en una sóla. Es razonable dividirla ...