| 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: | Whole Thread | Raw Message | 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 |