mauricio pullabuestan escribió: > Buen día. > > En una base de datos tengo una tablacon varias tablas dependientes es decir > tengo declara integridad referencial entre estas tablas > Estamos en proceso de desarrollo ymigración, existe varios sistemas que están > ocupando estastablas, por varios motivos tenemos la necesidad de volver a > migrar latabla padre (por así decirlo)Tenemos un programa para migrar que: > - inserta > - elimina los datos actuales y luego inserta. > > Al ser ser una tabla padre que tienes tablasdependientes no me va a permitir > eliminar los datos, como puedomediante código conocer las relaciones de la > tabla padre, paraapagarlas y después de migrar volver a prender las > relaciones, esposible hacer esto por código?
Puedes "apagar una relación" usando ALTER TABLE DROP CONSTRAINT, y luego volver a "prenderla" usando ALTER TABLE ADD CONSTRAINT. Este último ejecuta una consulta para verificar que la restricción se cumple. Para saber qué llaves foráneas existen, puedes mirar la vista information_schema.table_constraints WHERE constraint_type = 'FOREIGN KEY'. Ten cuidado porque la vista sólo muestra constraints en tablas de las que eres dueño, o algo así. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda