Re: [pgsql-es-ayuda] Deferrable ¿funciona?

From: Nicolás Domínguez Florit <ndomin(at)rec(dot)unicen(dot)edu(dot)ar>
To: "PostgreSQL list ES" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Deferrable ¿funciona?
Date: 2006-02-07 13:44:02
Message-ID: 263901c62bec$91504170$ea84a8c0@Nico
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Tengo las siguientes tablas de prueba:

a1
nro_legaj (integer)
campoa1 (varchar)

a2
nro_legaj (integer)
campoa2 (varchar)

con los siguientes constraints
FOREIGN KEY ("nro_legaj")
REFERENCES "public"."a1"("nro_legaj")
ON DELETE RESTRICT
ON UPDATE CASCADE
DEFERRABLE
INITIALLY DEFERRED

en a1 tengo los siguientes datos: 1,a
en a2 tengo los siguientes datos: 1,b

lo que quiero es trabajar con a1 sin restricciones de integridad hasta el
final de la transaccion. Por lo que hago:

begin;
SET CONSTRAINTS ALL DEFERRED;
delete from a1 where nro_legaj=1;
...
.... antes de hacer el commit ya tira el problema...
...
COMMIT;
END;

Para mi sorpresa me da error diciendo que no se puede borrar por el
constraint que existe. Pero este no esta desactivado hasta el final de la
transaccion??? Lo probe con inserts y parece funcionar. Esto es un bug mio,
de postgres, error de conceptos... que anda mal aca?

muchas gracias.-

Nicolas.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Cruz Avila Fereira 2006-02-07 14:05:01 Bajar BD postgresql en solaris 9
Previous Message Alvaro Herrera 2006-02-07 12:20:32 Re: crear plpgsql en un servidor compartido