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

Responder a