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
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 |