Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-01-2013
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Gracias Neftalí, pero eso es lo que estoy haciendo, mirando cada tabla de las 70 que pienso está relacionada con la que no me deja ampliar el ancho, ya voy por la mitad.

Pensaba que en alguna tabla del sistema se guardan las claves foráneas y estaba intentando sin éxito utilizando ISQL extraer dichas claves para "ahorrar" tiempo.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #2  
Antiguo 23-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
También puedes extraer el metadata de la misma, además cuando pulsas en la tabla que quieres ver, en una de las pestañas, pone "dependencias", ahí te salen todas las tablas y campos foráneos de la misma.
Aquí tienes un ejemplo, lo de arriba son dependencias con tablas y lo de abajo con "vistas"
Imágenes Adjuntas
Tipo de Archivo: jpg pp.jpg (38,1 KB, 8 visitas)
Responder Con Cita
  #3  
Antiguo 23-01-2013
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
De momento sigo mirando tablas ya os diré en que queda el asunto.

Estoy usando Constraints---Foreign Key.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 23-01-2013 a las 12:37:09.
Responder Con Cita
  #4  
Antiguo 23-01-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Marcos.

Para listar todas las claves foráneas, proba de este modo:
Código SQL [-]
SELECT RC.RDB$CONSTRAINT_NAME AS CONSTRAINT_NAME,
       I.RDB$RELATION_NAME AS TABLE_NAME,
       S.RDB$FIELD_NAME AS FIELD_NAME,
       I.RDB$DESCRIPTION AS DESCRIPTION,
       RC.RDB$DEFERRABLE AS IS_DEFERRABLE,
       RC.RDB$INITIALLY_DEFERRED AS IS_DEFERRED,
       REFC.RDB$UPDATE_RULE AS ON_UPDATE,
       REFC.RDB$DELETE_RULE AS ON_DELETE,
       REFC.RDB$MATCH_OPTION AS MATCH_TYPE,
       I2.RDB$RELATION_NAME AS REFERENCES_TABLE,
       S2.RDB$FIELD_NAME AS REFERENCES_FIELD,
       S.RDB$FIELD_POSITION + 1 AS FIELD_POSITION
FROM RDB$INDEX_SEGMENTS S
LEFT JOIN RDB$INDICES I ON I.RDB$INDEX_NAME = S.RDB$INDEX_NAME
LEFT JOIN RDB$RELATION_CONSTRAINTS RC ON RC.RDB$INDEX_NAME = S.RDB$INDEX_NAME
LEFT JOIN RDB$REF_CONSTRAINTS REFC ON RC.RDB$CONSTRAINT_NAME = REFC.RDB$CONSTRAINT_NAME
LEFT JOIN RDB$RELATION_CONSTRAINTS RC2 ON RC2.RDB$CONSTRAINT_NAME = REFC.RDB$CONST_NAME_UQ
LEFT JOIN RDB$INDICES I2 ON I2.RDB$INDEX_NAME = RC2.RDB$INDEX_NAME
LEFT JOIN RDB$INDEX_SEGMENTS S2 ON I2.RDB$INDEX_NAME = S2.RDB$INDEX_NAME
WHERE RC.RDB$CONSTRAINT_TYPE = 'FOREIGN KEY'
ORDER BY S.RDB$FIELD_POSITION

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 23-01-2013 a las 14:11:18.
Responder Con Cita
  #5  
Antiguo 23-01-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por marcoszorrilla Ver Mensaje
...mirando cada tabla de las 70 que pienso está relacionada con la que no me deja ampliar el ancho, ya voy por la mitad.
No, si esta pantalla lo que te da son todas las relaciones que tiene tu tabla.

En la imagen puedes ver que, al marcar la tabla PROJECT, te está diciendo que hay otras 2 tablas que están relacionadas con esta (y los campos) y algunos procedimientos que también.



De esta forma, creo que puedes saber todas las tablas que tienen como clave foránea, la clave de tu tabla. Se supone que si ahí pones tu tabla, te dirá todas las otras cuya clave foránea apunta a la tuya.

O tal vez no te he entendido bien...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 23-01-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
De todas formas, el propio IBExpert (que es mucho IBExpert) en la configuración tiene la opción de visualizar tablas de sistema.
Si con lo anterior no te vale, con esto deberías poder "chafardear" el diccionario de datos y obtener las relaciones.

__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 23-01-2013
beginner01 beginner01 is offline
Miembro
NULL
 
Registrado: mar 2011
Ubicación: República Dominicana
Posts: 181
Poder: 14
beginner01 Va por buen camino
Hola!.

Quizás este enlace sirva de ayuda.
Responder Con Cita
  #8  
Antiguo 23-01-2013
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Gracias a todos pero acabo de revisar todas las "ForeignKey" con el IbExpert y no es lo que creía, el problema según parece es que no me deja cambiar el ancho del campo CODIGO porque es una "PK" y tampoco me deja desactivar la "PK".

Cita:
update RDB$FIELDS set
RDB$FIELD_LENGTH = 12,
RDB$CHARACTER_LENGTH = 12
where RDB$FIELD_NAME = 'RDB$111'
Resultado:
Cita:
Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
action cancelled by trigger (1) to preserve data integrity.
Cannot update index segment used by an Integrity Constraint.
Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #9  
Antiguo 23-01-2013
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Cita:
CONSTRAINT_NAME TABLE_NAME FIELD_NAME DESCRIPTION IS_DEFERRABLE IS_DEFERRED ON_UPDATE ON_DELETE MATCH_TYPE REFERENCES_TABLE REFERENCES_FIELD FIELD_POSITION
=============================================================================== ===============================================================================
INTEG_72 ALBARUTA CODCLIENT <null> NO NO RESTRICT RESTRICT FULL CLIENTES CODIGO 1
INTEG_73 ALBARUTA VENDEDOR <null> NO NO RESTRICT RESTRICT FULL VENDEDORES CODIGO 1
INTEG_67 ALBARANES CODCLIENT <null> NO NO RESTRICT RESTRICT FULL CLIENTES CODIGO 1
INTEG_68 ALBARANES VENDEDOR <null> NO NO RESTRICT RESTRICT FULL VENDEDORES CODIGO 1
INTEG_15 LINAMORTIZA SBCUENTA <null> NO NO RESTRICT RESTRICT FULL AMORTIZA SBCUENTA 1
INTEG_97 LINCOMISIONES CODIGOMES <null> NO NO RESTRICT RESTRICT FULL COMISIONES CODIGOMES 1
INTEG_26 CLIENTES VENDEDOR <null> NO NO RESTRICT RESTRICT FULL VENDEDORES CODIGO 1
INTEG_157 LINEASGASTOS CONCEPTO <null> NO NO RESTRICT RESTRICT FULL GASTOS CONCEPTO 1
INTEG_83 LINEASVENTAS CODCLIENT <null> NO NO RESTRICT RESTRICT FULL CLIENTES CODIGO 1
INTEG_84 LINEASVENTAS VENDEDOR <null> NO NO RESTRICT RESTRICT FULL VENDEDORES CODIGO 1
INTEG_94 COMISIONES CODIGO <null> NO NO RESTRICT RESTRICT FULL VENDEDORES CODIGO 1
INTEG_107 TARIFAS GRUPO <null> NO NO RESTRICT RESTRICT FULL GRUPOTAR GRUPO 1
INTEG_53 ABONOS CODCLIENT <null> NO NO RESTRICT RESTRICT FULL CLIENTES CODIGO 1
INTEG_58 DEPOSITOS CODCLIENT <null> NO NO RESTRICT RESTRICT FULL CLIENTES CODIGO 1
INTEG_127 GASOIL MATRICULA <null> NO NO RESTRICT RESTRICT FULL VEHICULOS MATRICULA 1
INTEG_63 HDEPOSITOS CODCLIENT <null> NO NO RESTRICT RESTRICT FULL CLIENTES CODIGO 1
INTEG_111 COMPRAS CODIGO <null> NO NO RESTRICT RESTRICT FULL PROVEEDORES CODIGO 1
INTEG_100 LINREMESASRECIBOS REMESA <null> NO NO RESTRICT RESTRICT FULL REMESASRECIBOS REMESA 1
INTEG_41 PVPSP CODCLI <null> NO NO RESTRICT RESTRICT FULL CLIENTES CODIGO 1
INTEG_77 FACTURAS CODCLIENT <null> NO NO RESTRICT RESTRICT FULL CLIENTES CODIGO 1
INTEG_78 FACTURAS VENDEDOR <null> NO NO RESTRICT RESTRICT FULL VENDEDORES CODIGO 1
INTEG_34 MANTENIMIENTOS CODCLIENT <null> NO NO RESTRICT RESTRICT FULL CLIENTES CODIGO 1
INTEG_130 GASTOSVEHICULOS MATRICULA <null> NO NO RESTRICT RESTRICT FULL VEHICULOS MATRICULA 1
Con el metodo del compañero ECFISA. Lo he copiado a un fichero texto, he agregado un punto y coma al final;
y me devuelve lo que quiero, aunque he descubierto que ese no era el problema lo guardo porque es muy útil, se dirige la salida a un fichero de texto y ahí tienes todas las claves foraneas.

Un Saludo
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.

Última edición por marcoszorrilla fecha: 23-01-2013 a las 16:28:16.
Responder Con Cita
  #10  
Antiguo 23-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Veo que todos son integer, ¿qué quieres hacer exactamente?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con llaves foraneas jcrg666 MySQL 1 01-04-2010 00:41:36
Claves foraneas Jcarloscgl Firebird e Interbase 2 26-02-2008 21:38:57
Error con claves foráneas david.rguez MySQL 1 08-02-2007 13:51:42
LLaves foraneas... Luis Castillo SQL 2 13-11-2005 18:45:34
Llaves Foraneas RainFall MySQL 1 26-07-2004 04:19:28


La franja horaria es GMT +2. Ahora son las 14:26:17.


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
Copyright 1996-2007 Club Delphi