From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Julio Rivero <jcrmlima(at)gmail(dot)com> |
Cc: | Conrado Blasetti <conrado(at)mapfre(dot)com(dot)ar>, July Campos <jcampos(at)interactivedata(dot)com(dot)ve>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Ayuda urgente con transacciones |
Date: | 2006-02-07 22:24:01 |
Message-ID: | 20060207222401.GC9620@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Julio Rivero escribió:
> Sorry, no revise bien el codigo, tiene razón, el Begin va sin ";" y siempre
> tiene que cerrarse con un end;
>
> el commit es automatico, si todo esta OK el postgres cierra la transacción,
> de lo contrario le mandas el rollback;
Veo que nadie probo lo que esta sugiriendo, o siquiera se molesto en
leer el manual de PL/pgSQL. La verdad es que es imposible ejecutar
ROLLBACK en PL/pgSQL.
Lo que puedes hacer es usar RAISE EXCEPTION, lo cual abortara la
funcion automaticamente.
Observa que puedes usar un bloque
BEGIN
EXCEPTION
END
y entre el BEGIN y el EXCEPTION hacer un RAISE EXCEPTION, la cual sera
capturada y el control se le dara al bloque EXCEPTION, donde puedes
hacer un nuevo RAISE EXCEPTION si te place.
Por favor lee el manual de PL/pgSQL. Incluso hay una traduccion hecha
recientemente para la cual muchos de esta lista te pueden dar una URL.
--
Alvaro Herrera http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2006-02-07 22:28:12 | Re: Ayuda con fechas |
Previous Message | Alvaro Herrera | 2006-02-07 22:20:24 | Re: Consulta-HELP |