Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Firebird: ¿Qué elementos tiene la base de datos?

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Firebird: ¿Qué elementos tiene la base de datos? Responder citando

Voy a tratar de explicar mejor la pregunta: ¿Cómo puedo saber si una determinada condición existe ya en una base de datos?

Cunado arranco la aplicación verifico las tablas que hay en la base de datos con un query:
Código:
SELECT COUNT(RDB$RELATION_NAME) Tabla FROM RDB$RELATIONS WHERE RDB$RELATION_NAME = <Nombre>

Pero, ¿cómo tendría que se ese query para comprobar si existe un índice primario o externo? Si defino una clave externa con esto:
Código:
ALTER TABLE Recibos ADD FOREIGN KEY(Situacion) REFERENCES Mensajes(Codigo)

¿Qué query tengo que hacer luego para comprobar que existe? Cuando lo creo, ya sea por código en tiempo de ejecución o por medio de IBManager, el sistema le asigna un nombre (INTEG_34 en este caso), pero no sé como buscarlo en RDB$RELATIONS. Se me ocurre que podría hacer algo así:
Código:
Query->SQL->Text = "ALTER TABLE Recibos ADD FOREIGN KEY(Situacion) REFERENCES Mensajes(Codigo)";
try
{
     Query->ExecSQL();
}
catch(...)
{
}

Pero me parece poco elegante.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Aclarada la duda. Hurgando con IBManager he descubierto en las tablas del sistema la guarda las definiciones de los generadores, entre otras cosas supongo, y es RDB$PROCEDURES y la que almacena las definiciones de los generadores que es RDB$GENERATORS. Basta por lo tanto buscar en ellas las definiciones y dependencias y eliminarlas.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.