Hallo,
ich habe folgende Datenbanksysteme
Interbase 7.1
Firebird 2.0 (kann ich leider in "Ergänzende Angaben" nicht zusätzlich angeben)
Auf beiden läuft "dieselbe" Datenbank.
Die Datenbank arbeitet in allen Tabellen durchgehend mit PK (integer).
Ich möchte nun über eine
SQL Abfrage herausfinden, mit welchen Tabellen
eine bestimmte Tabelle über foreign keys verknüpft ist.
Dabei habe ich mich etwas verhakelt. Bisher habe ich dies:
Code:
select
relcz.rdb$relation_name as quelltabelle,
relcq.rdb$relation_name as zieltabelle,
refc.rdb$constraint_name as keyname
from rdb$relation_constraints relcq
left outer join rdb$ref_constraints refc on (refc.rdb$const_name_uq = relcq.rdb$constraint_name)
left outer join rdb$relation_constraints relcz on (relcz.rdb$constraint_name = refc.rdb$const_name_uq)
where
relcq.rdb$relation_name = 'T_QUELLTABELLE'
and
relcq.rdb$constraint_type = 'PRIMARY KEY'
Als Quelltabelle bezeichne ich die Tabelle, in der der foreign key angelegt ist.
Meine Abfrage liefert mir aber als Quelltabelle die Zieltabelle. Was mache ich falsch?