Re: [firebase-br] COMO SABER SE EXISTE OU NÃO UMA FOREIGN KEY ENTRE TABELAS

Augusto augusto em cmsolucoes.com.br
Qui Ago 25 10:48:48 -03 2005


Marcio,
    Esta consulta irá lhe informar todas as FK de uma tabela, e seus dados.
    Basta alterar o parametro <TABELA>

TABLE_NAME                = Tabela de origem da FK
R_CONTRAINT_NAME = Nome da Contraint na tabela de origem (a PK do origem)
COLUMN_NAME           = Coluna FK da tabela escolhida
CONTRAINT_NAME     = Nome da Contraint de REFERERENCIA na tabela escolhida

espero que sirva.

ps. Cantu pode incluir esta nas dicas do FireBase tbm....

Augusto

SELECT DISTINCT
  CONSTRAINTSDESTINO.RDB$RELATION_NAME AS TABLE_NAME,
  RDB$CONST_NAME_UQ AS R_CONSTRAINT_NAME,
  INDICES.RDB$FIELD_NAME AS COLUMN_NAME,
  CONSTRAINTSORIGEM.RDB$CONSTRAINT_NAME AS CONSTRAINT_NAME
FROM
  RDB$RELATION_CONSTRAINTS CONSTRAINTSORIGEM,
  RDB$RELATION_CONSTRAINTS CONSTRAINTSDESTINO,
  RDB$INDEX_SEGMENTS INDICES,
  RDB$REF_CONSTRAINTS RELACIONAMENTOS
WHERE
  CONSTRAINTSORIGEM.RDB$RELATION_NAME = <TABELA> AND
  CONSTRAINTSORIGEM.RDB$CONSTRAINT_TYPE = 'FOREIGN KEY' AND
  CONSTRAINTSORIGEM.RDB$INDEX_NAME = INDICES.RDB$INDEX_NAME AND
  CONSTRAINTSORIGEM.RDB$CONSTRAINT_NAME =
            RELACIONAMENTOS.RDB$CONSTRAINT_NAME AND
  RDB$REF_CONSTRAINTS.RDB$CONST_NAME_UQ =
            CONSTRAINTSDESTINO.RDB$CONSTRAINT_NAME




----- Original Message ----- 
From: "marcio itarget" <marcio em itarget.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Thursday, August 25, 2005 3:40 PM
Subject: [firebase-br] COMO SABER SE EXISTE OU NÃO UMA FOREIGN KEY ENTRE 
TABELAS


> GOSTARIA DE SABER COMO FAZER UMA CONSULTA (USANDO AQUELAS TABELAS DE
> SISTEMA DO FB) PARA DESCOBRIR SE EXISTE UMA FOREIGN KEY ENTRE DUAS TABELAS
> QUAISQUER DO SISTEMA.
> VALEU GALERA....
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> 






Mais detalhes sobre a lista de discussão lista