2009-06-30 18 views

Respuesta

3

Las claves externas AFAICT no se pueden desactivar en Firebird hasta 2.1.
Tendría que soltar y volver a crearlos.
Hay un similar thread en Devshed.

+1

+1. Con una herramienta que muestra las tablas del sistema, se puede ver que no hay ningún campo en RDB $ RELATION_CONSTRAINTS que permita deshabilitar las restricciones de clave externa. Los índices OTOH pueden estar inactivos, y RDB $ INDICES tiene un campo RDB $ INDEX_INACTIVE. – mghie

+0

Sí, pero los índices que admiten restricciones no pueden desactivarse. Intentar hacer eso da como resultado un error. –

0

Supongo que la única manera es soltar y luego volver a crearlos. Como las restricciones no son datos, realmente no se pierde información de la base de datos, por lo que es una operación inofensiva (siempre que conserve el script para volver a crearlas más adelante).

La versión de FlameRobin en el repositorio SVN tiene una opción para generar esos scripts DROP y CREATE automáticamente para las dependencias de columna de tabla elegidas. El último lanzamiento oficial tiene la misma opción para tablas completas, por lo que podría ayudarte. Sin embargo, no hay opción para hacerlo para toda la base de datos. Tal vez algún otro administrador. herramienta tiene esa característica.

Cuestiones relacionadas