RE: Error FK en transaccion

From: "Javier Aquino H(dot)" <JAquino(at)LexusEditores(dot)com>
To: 'Raúl Andrés Duque Murillo' <ra_duque(at)yahoo(dot)com(dot)mx>, "'Lista - PostgreSQL'" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Error FK en transaccion
Date: 2010-08-17 04:59:45
Message-ID: !&!AAAAAAAAAAAYAAAAAAAAAM2s7SGV8UJPhOCUGX7igBnCgAAAEAAAAP2SCllvGWNPuiP0q70pJ4cBAAAAAA==@LexusEditores.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

La FK hace referencia a la tabla def_zona, creo que deberías primero
actualizar esta tabla.

Slds,

De: pgsql-es-ayuda-owner(at)postgresql(dot)org
[mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Raúl Andrés Duque
Murillo
Enviado el: lunes, 16 de agosto de 2010 11:26 p.m.
Para: Lista - PostgreSQL
Asunto: [pgsql-es-ayuda] Error FK en transaccion

Cordial Saludo.

Estoy extrañamente experimentando un error de FK al ejecutar las siguientes
líneas:

BEGIN;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
INSERT INTO "dbo"."zonas"("descripcion_zona") VALUES ('Zona A');
SELECT currval(pg_get_serial_sequence('"dbo"."zonas"', 'id_zona')) AS
"id_zona" --- devuelve 6
SELECT * FROM "dbo"."zonas"; --- Por validación
INSERT INTO "dbo"."nodoes"("codigo_nodo","descripcion_nodo","id_zona")
VALUES ('AAA','Nodo A',cast(6 as int8));
SELECT currval(pg_get_serial_sequence('"dbo"."nodoes"', 'id_nodo')) AS
"id_nodo"
ROLLBACK;

ERROR:

2010-08-16 23:06:27 COTERROR: inserción o actualización en la tabla
«nodoes» viola la llave foránea «fkey_nodo_zona»
2010-08-16 23:06:27 COTDETALLE: La llave (id_zona)=(6) no está presente en
la tabla «def_zona».

Las dos tablas utilizan como Id campos serial y si veo el resultado del
SELECT incluido dentro de la transacción efectivamente el Id asignado fue 6

Alguna sugerencia?

PD. Si quito la FK se ejecuta correctamente y los el id_zona de las dos
tablas coinciden.

Atentamente,

RAUL DUQUE
Bogotá, Colombia

__________ Information from ESET NOD32 Antivirus, version of virus signature
database 5371 (20100816) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Raúl Andrés Duque Murillo 2010-08-17 10:25:48 Re: Error FK en transaccion
Previous Message Raúl Andrés Duque Murillo 2010-08-17 04:25:40 Error FK en transaccion