From: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
---|---|
To: | Jaime Casanova <systemguards(at)gmail(dot)com> |
Cc: | Juan Garcés Bustamante <jgarces(at)futuroprofesional(dot)cl>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: [GENERAL] Transacciones Anidadas |
Date: | 2005-12-16 20:22:34 |
Message-ID: | 20051216202234.GC27602@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda pgsql-general |
Jaime Casanova escribió:
> On 12/16/05, Juan Garcés Bustamante <jgarces(at)futuroprofesional(dot)cl> wrote:
> > BEGIN WORK;
> > INSERT INTO mitabla VALUES (1);
> > BEGIN TRANSACTION;
> > INSERT INTO mitabla VALUES (2);
> > INSERT INTO mitabla VALUES (3);
> > COMMIT TRANSACTION;
> > INSERT INTO mitabla VALUES (4);
> > ROLLBACK WORK;
> >
> > El "ROLLBACK WORK" no aborta la TRANSACTION.
Lo que realmente pasa es lo siguiente:
BEGIN WORK;
INSERT INTO mitabla VALUES (1);
BEGIN TRANSACTION;
-- WARNING: ya estas en una transaccion. Este comando ha sido ignorado.
INSERT INTO mitabla VALUES (2);
INSERT INTO mitabla VALUES (3);
COMMIT TRANSACTION;
-- Aca se compromete la transaccion que se inicio en la primera linea
INSERT INTO mitabla VALUES (4);
ROLLBACK WORK;
-- WARNING: no hay ninguna transaccion abierta.
> en verdad ocurrio eso?
Efectivamente, y es el comportamiento esperado :-)
> lo voy a probar mas tarde... aunque en postgres no existen las
> transacciones anidadas, se llaman savepoints y la sintaxis es distinta
>
> BEGIN WORK;
> INSERT INTO mitabla VALUES (1);
> SAVEPOINT foo;
> INSERT INTO mitabla VALUES (2);
> INSERT INTO mitabla VALUES (3);
> RELEASE foo;
> INSERT INTO mitabla VALUES (4);
> ROLLBACK WORK;
Esta es la forma correcta de hacerlo.
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
From | Date | Subject | |
---|---|---|---|
Next Message | Julio Rivero | 2005-12-16 20:23:31 | Re: Duda sobre tipo de datos Enteros vs. Caracteres |
Previous Message | Michael Fuhr | 2005-12-16 20:21:52 | Re: Transacciones Anidadas |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2005-12-16 20:27:25 | Re: Getting a DB password to work without editing pg_hba.conf, |
Previous Message | Michael Fuhr | 2005-12-16 20:21:52 | Re: Transacciones Anidadas |