Ver Mensaje Individual
  #2  
Antiguo 22-12-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile RDB$Relation_Constraints

¡Hola a todos!

Totote: No especificas qué base de datos utilizas, ni la versión de Delphi / dbExpress, pero si por casualidad estuvieras trabajando con Firebird / InterBase, con esta consulta SQL puedes obtener los nombres de los campos de una tabla que constituyen llaves foráneas (FKs) —una de las dos cosas que buscas—.
Código SQL [-]
Select ISe.RDB$Field_Name From RDB$Index_Segments ISe

Inner Join RDB$Relation_Constraints RC
On RC.RDB$Index_Name = ISe.RDB$Index_Name

Where (RC.RDB$Relation_Name = :Tabla) And
(RC.RDB$Constraint_Type = 'FOREIGN KEY')
Mirando el contenido de la tabla RDB$Relation_Constraints, podrás descubrir fácilmente cómo obtener entonces los campos que son llaves primarias.

Confírmanos qué base de datos utilizas. En general, no dejes de retroalimentar el hilo. Gracias.

Un abrazo foráneo.

Al González.
Responder Con Cita