Re: INSERT MULTIPLE CON TRANSACCIONES...

From: Jaime Casanova <systemguards(at)yahoo(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: INSERT MULTIPLE CON TRANSACCIONES...
Date: 2004-11-08 16:53:52
Message-ID: 20041108165352.24637.qmail@web50010.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

--- enzo ana <enzoana(at)hotmail(dot)com> escribió:
> Gente:
> Estoy realizando una aplicacion web con JSP en la
> cual debo hacer una insersion que implica hacer
> varios insert en varias tablas. Esta insercion
> debe ser "atomica" por lo cual la realizo abriendo
> una transaccion y ante cualquier fallo realizo un
> rollback.

Una practica MUY recomendable.

> Cuando realizo el primer insert obtengo un long el
> cual debo utilizarlo como clave foranea en las demas

> tuplas que se insertan.

Es obvio que se trata de un esquema cabecera -
detalle, o algo muy similar a eso.

La primera pregunta que te hare es: ¿De donde obtienes
ese long?, ¿te lo devuelve automaticamente el postgres
al insertar la fila? si es asi, el problema es que ese
long que te devuelve es el oid (Object IDentifier) de
la fila (un numero que unico que genera postgres a
cada fila) y no el codigo de la cabecera que
ingresastes.

Puedo estar equivocado por eso seria mejor que
mostraras el codigo que estas usando para estar
seguros, tambien ayudanos con la definicion de tus
tablas y los constraints FK's para ver si las
opiniones de los otros son correctas o no?

> El problema es que obtengo una excepcion por
> violacion de integridad referencial porque el codigo

> de la clave foranea (el
> cual obtuve al hacer el
> primer insert) que intento insertar en el segundo
> query no se encuentra en la base de datos hasta que
> se realice el commit de la transaccion.

NO, dentro de la transaccion todo lo que TU hagas es
visble para ti. desde tu punto de vista eso esta
grabado.

> Como puedo salvar esta situacion para que se respete
> la integridad referencial?

Postgres lo hace por ti, con los constraints definidos
obviamente.

> Gracias y disculpen las molestias.

Ninguna molestia.

Atentamente,
Jaime Casanova

_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Manuel Sugawara 2004-11-08 17:08:16 Re: Fw: Triggers con argumentos
Previous Message antispam 2004-11-08 16:36:26 Fw: Triggers con argumentos