Hopefully this can get you started (though since your key consists of two fields, I would expect it to return four rows, not one row with two tables and four fields):
select iChild.rdb$Relation_name, isChild.rdb$field_name, iMain.rdb$relation_name, isMain.rdb$field_name from rdb$indices iChild join rdb$index_segments isChild on iChild.rdb$index_name = isChild.rdb$index_name join rdb$indices iMain on iChild.rdb$Foreign_key = iMain.rdb$index_name join rdb$index_segments isMain on iMain.rdb$index_name = isMain.rdb$index_name where iChild.rdb$index_name = 'FK_ADHERENTES' HTH, Set 2017-05-30 7:10 GMT+02:00 'Walter R. Ojeda Valiente' [email protected] [firebird-support] < [email protected]>: > > > Hello everybody > > I had defined a Foreign Key as: > > ALTER TABLE ADHERENTES > ADD CONSTRAINT FK_ADHERENTES > FOREIGN KEY (ADH_SERVID, ADH_IDECAB) > REFERENCES CLIENTES(CLI_SERVID, CLI_IDENTI) > ON DELETE CASCADE > ON UPDATE CASCADE; > > Of course, that work very well. > > However, after watching the system tables I can not find a simple way to > build a SELECT what can give me the name of the tables and the columns > involved. Something as: > > SELECT ... something > > Result: > ADHERENTES, ADH_SERVID, ADH_IDECAB, CLIENTES, CLI_SERVID, CLI_IDENTI > > Can somebody tell me how to get that result? > > Thank you very much in advance. > > Greetings. > > Walter. > > > >
