From: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
---|---|
To: | v13n35(at)gmail(dot)com |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Transaciones en pl/pgsql |
Date: | 2005-01-13 20:28:43 |
Message-ID: | 20050113202843.GA11197@dcc.uchile.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Thu, Jan 13, 2005 at 12:46:35PM -0600, viernes wrote:
Hola,
> 1.- Imagino que en una funcion de pl/pgsql esta dentro de una
> transacion por el begin y end o hay que indicarlo ????
Imaginas bien pero por un mal motivo. Los BEGIN/END de las funciones en
pl/pgsql no son inicio/termino de transaccion; son constructos que
indican inicio y termino de un bloque de codigo plpgsql, equivalentes a
los { y } de bloques en C, Perl y otros lenguajes.
En una funcion plpgsql, y en cualquier otro lenguaje, no puedes abrir
una nueva transaccion ni cerrar la transaccion en curso. Ni siquiera
esta permitido definir un savepoint en 8.0; el mecanismo para esto es
usar la clausula EXCEPTION.
> 2.- Si lo anterior es verdad y llamo una funcion dentro de otra
> trabajan de manera conjunta las transaciones o se pierden
No ha lugar.
--
Alvaro Herrera (<alvherre[(at)]dcc(dot)uchile(dot)cl>)
"La rebeldía es la virtud original del hombre" (Arthur Schopenhauer)
From | Date | Subject | |
---|---|---|---|
Next Message | Esteban Osorio | 2005-01-13 20:30:37 | RE: Para quien me pueda ayudar... |
Previous Message | Esteban Osorio | 2005-01-13 20:26:00 | RE: Para quien me pueda ayudar... |