Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Saber si existe un indice (https://www.clubdelphi.com/foros/showthread.php?t=52583)

eduarcol 24-01-2008 21:36:59

Saber si existe un indice
 
a ver, disculpen mi ignorancia, para saber si un campo existe en Firebird tengo la siguiente instruccion:

Código SQL [-]
Select Count(RDB$FIELD_NAME) as Cuantos from  RDB$RELATION_FIELDS where  RDB$RELATION_NAME = :tabla  AND RDB$FIELD_NAME = :campo

como podria hacer para saber si un indice ya ha sido definido??, habra algun sql o tendre que manejar el FieldDefS???

maeyanes 24-01-2008 21:54:51

Hola...

Checando las tablas de sistema de una base de datos que tengo, veo que en la tabla RDB$INDEX_SEGMENTS existen dos campos, uno se llama RDB$INDEX_NAME y el otro RDB$FIELD_NAME, con esto podrías saber si un campo está indexado y cual es el nombre del índice...



Saludos...

eduarcol 24-01-2008 22:06:30

Gracias, alli estaba la solucion, como se pueden saber cuales son estas tablas de sistema??

maeyanes 24-01-2008 22:09:19

Hola...

Pues yo con el manejador que uso (EMS SQL Manager) solo le digo en las opciones de la base de datos que me muestre las tablas de sistema y listo...

Pero me imagino que habrá una forma de hacerlo...



Saludos...

eduarcol 24-01-2008 22:16:09

Gracias, :D

Todos los dias se aprende algo nuevo

jhonny 24-01-2008 23:08:24

Cita:

Empezado por eduarcol (Mensaje 260708)
Gracias, :D

Todos los dias se aprende algo nuevo

Pues yo con el IBExpert tambien hago lo mismo que maeyanes y listo :p

eduarcol 24-01-2008 23:12:12

Cita:

Empezado por jhonny (Mensaje 260730)
Pues yo con el IBExpert tambien hago lo mismo que maeyanes y listo :p

justo estoy tratando de hacer eso, pero no he visto la opcion del menu, sera que el free no lo trae??

jhonny 24-01-2008 23:27:45

Cita:

Empezado por eduarcol (Mensaje 260731)
justo estoy tratando de hacer eso, pero no he visto la opcion del menu, sera que el free no lo trae??

Si, la edición personal si lo trae...

Haz Click Contrario en el ALIAS de la BD en cuestión, luego

Informacion de registro de la base de datos|Explorador BD| y por ultimo activas el CheckBox de "Mostrar tablas del sistema", desconectas, vuelves a conectar y listo :).

Delphius 25-01-2008 00:01:03

Cita:

Empezado por jhonny (Mensaje 260737)
Si, la edición personal si lo trae...

Haz Click Contrario en el ALIAS de la BD en cuestión, luego

Informacion de registro de la base de datos|Explorador BD| y por ultimo activas el CheckBox de "Mostrar tablas del sistema", desconectas, vuelves a conectar y listo :).

Hey! He pasado muchas veces por el explorador... pero nunca se me dio por activar esa opción. Algo más que aprendí... Muchas gracias Jhonny:) Y a Eduardo, que si no fuera por el yo seguiría siendo un ignorante.

Saludos,

jhonny 25-01-2008 14:02:18

Que bueno que haya sido de ayuda :).

eduarcol 25-01-2008 16:36:13

Cita:

Empezado por jhonny (Mensaje 260843)
Que bueno que haya sido de ayuda :).

Ya yo sabia como se hacia, solo pregunte a ver si ustedes tambien sabian :D:D



jejeje, nada de eso muchas gracias por la ayuda, me sirvio de mucho


La franja horaria es GMT +2. Ahora son las 08:09:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi