Re: funciones y ROLLBACK

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "Victor Lopez" <d01m01a2000(at)gmail(dot)com>
Cc: Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: funciones y ROLLBACK
Date: 2007-05-05 18:33:08
Message-ID: c2d9e70e0705051133u67cc9feai3de372a597a76de1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 5/5/07, Victor Lopez <d01m01a2000(at)gmail(dot)com> wrote:
> Saludos.
>
> Antes expongo lo que creo saber.
>
> Una función es una transacción.
> Acaba con un COMMIT por defecto.
> Si se desea cancelar, se debe ejecutar un ROLLBACK antes de salir ... creo.
>
[...]
>
> Donde me equivoco ??
>

en creer que una funcion es una transaccion...

una funcion se ejecuta *dentro* de una transaccion, si no has iniciado
transaccion se iniciara una al mandar a ejecutar la funcion...

en otras palabras:

select funcion();

es lo mismo que

begin;
select funcion();
commit;

si quieres ejecutar un rollback() tendras que iniciar una transaccion
de forma implicita antes de ejecutar la funcion... tambien
necesitarias que la funcion regrese algun tipo de estado que te
indique que debes hacer rollback en vez de commit

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gunnar Wolf 2007-05-06 00:04:42 Re: Muchos usuarios conectados
Previous Message Henry 2007-05-05 18:14:30 RE: funciones y ROLLBACK