From: | Karsten Hilbert <Karsten(dot)Hilbert(at)gmx(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Transacciones Anidadas |
Date: | 2005-12-16 20:58:47 |
Message-ID: | 20051216205847.GA7637@merkur.hilbert.loc |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda pgsql-general |
On Fri, Dec 16, 2005 at 03:23:07PM -0400, Juan Garcés Bustamante wrote:
> Hola
Guten Abend !
> Estoy trabajando con Postgres 8.0.3 en Ubuntu.
Hm, ich benutze Debian, mit PostgreSQL 7.4 in einem Cluster.
Wie das bei Ubuntu so funktioniert, weiß ich nicht so
richtig.
> Necesito realizar transacciones anidadas, pero no logro que se aborten
> transacciones intermedias al abortarse una superior.
Ich glaube Du mußt Savepoints benutzen, wenn Du eine
Zwischentransaktion innerhalb einer anderen starten willst.
Es natürlich klar, daß innerhalb *einer* Transaktion jeder
Fehler die gesamte Verarbeitung abbricht !
> Ejemplo:
>
> 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.
Das kann ich mir nicht vorstellen. Bist Du sicher, daß BEGIN
TRANSACTION die richtige Syntax ist für das, was Du machen
willst ?
> Resultado de la consulta:
>
> mitabla
> ========
> 1
> 2
> 3
> (3 rows)
Ach so, klar, mE können BEGINs geschachtelt werden, ohne daß
ein Problem auftritt. Allerdings beendet dann COMMIT alle
begonnenen Transaktionen auf einmal. Da das INSERT ... 4
erst nach dem COMMIT, aber vor dem ROLLBACK kommt, wird es
richtig von dem ROLLBACK erfasst und erscheint nicht in der
Tabelle.
> Resultado esperado:
>
> mitabla
> ========
>
> (0 rows)
Nee, nee. Deine Erwartung an das Ergebnis ist falsch.
> Alguna idea??
Naja, siehe oben :-)
> Gracias.
Kein Problem. Gern wieder.
Karsten
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346
From | Date | Subject | |
---|---|---|---|
Next Message | Guillermo Schulman | 2005-12-16 21:25:02 | upgrade a PG 8.1 |
Previous Message | Florian G. Pflug | 2005-12-16 20:49:57 | Re: Transacciones Anidadas |
From | Date | Subject | |
---|---|---|---|
Next Message | Niblett, David A | 2005-12-16 21:04:59 | FW: PL/pgSQL Function Help |
Previous Message | Madison Kelly | 2005-12-16 20:55:45 | Re: Getting a DB password to work without editing pg_hba.conf, |