PDA

Ver la Versión Completa : eliminar indice de una tabla


jhonny
17-05-2003, 19:53:33
Trabajo con FireBird 1.0.0, ¿alguno de ustedes sabe como eliminar por medio de SQL un indice llamado "RDB$FOREING140" de una tabla llamada "Articulo"? es que cuando intento hacer asi:

Drop index RDB$FOREIGN140 Sale un error que dice asi:
Invalid modifify request.
unsuccessful metadata update
ERASE RDB$INDICES failed

y muchas Gracias de antemano.

__cadetill
17-05-2003, 21:03:42
Hola jhonny

este indice hace referencia a una clave foranea. Visto que es la tabla de Articulos, podria ser por ejemplo una relacion entre Articulos y Familias (repito, es un ejemplo), por lo que no puedes borrarlo de esa manera. Tienes que hacer algo asi..

ALTER TABLE Articulos DROP CONSTRAINT NombreForeingKey

pero si ya hay algun registro ligado entre las dos tablas, si no recuerdo mal, no te dejara borrar el ForeingKey

Espero te sirva

jhonny
19-05-2003, 16:14:04
Gracias Cadetill¡¡¡

Gracias pues la solución dio en el punto que era, pero la relaidad esque no ha funcionado pues efectivamente habian registros ligados y por eso no he podido eliminar el idice foraneo.

Pero pues si alguien no tiene alguna otra solución pues tocara hacer un "Machetaso" :o .

Les agradesco por su tiempo prestado.

__cadetill
19-05-2003, 16:48:02
No se si te funcionara, no lo he probado, pero en la tabla de sistema RDB$Indices, prueba a desactivar el indice y luego hacer el ALTER TABLE

Repito, no se si funcionara la idea, pero por probar antes de hacer el "Machetaso" ese :p