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