[firebase-br] Otendo informações sobre FOREIGN KEY

Daniel / Tecnobyte temp2 em tecnobyte.com.br
Sex Fev 22 00:57:37 -03 2008


Boa noite

Um amigo me perguntou como poderia obter algumas informações sobre as FOREIGN KEY's existente no banco de dados. Acreditando que isto possa ser útil para mais alguém, resolvi postar aqui na lista.

SELECT
  FK.RDB$CONSTRAINT_NAME AS FK_NOME,
  FK.RDB$RELATION_NAME AS FK_TABELA,
  FK_IDX_SEG.RDB$FIELD_NAME AS FK_CAMPO,
  PK.RDB$CONSTRAINT_NAME AS PK_NOME,
  PK.RDB$RELATION_NAME AS PK_TABELA,
  PK_IDX_SEG.RDB$FIELD_NAME
FROM RDB$RELATION_CONSTRAINTS AS FK
JOIN RDB$INDICES AS FK_IDX ON FK_IDX.RDB$INDEX_NAME = FK.RDB$INDEX_NAME
JOIN RDB$INDEX_SEGMENTS AS FK_IDX_SEG ON FK_IDX_SEG.RDB$INDEX_NAME = FK.RDB$INDEX_NAME
JOIN RDB$RELATION_CONSTRAINTS AS PK ON PK.RDB$CONSTRAINT_NAME = FK_IDX.RDB$FOREIGN_KEY
JOIN RDB$INDEX_SEGMENTS AS PK_IDX_SEG ON PK_IDX_SEG.RDB$INDEX_NAME = PK.RDB$INDEX_NAME
WHERE FK.RDB$CONSTRAINT_TYPE = 'FOREIGN KEY' AND FK.RDB$RELATION_NAME = 'PESSOA'
ORDER BY FK_IDX_SEG.RDB$FIELD_POSITION

Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br



Mais detalhes sobre a lista de discussão lista