Firebird - Localizar CONSTRAINTS de uma tabel especifica

Top  Previous  Next

// localizar CONSTRAINTS de uma tabel especifica

select a.rdb$constraint_name as NM_FK,

       a.rdb$relation_name as NM_TB_ORI,

       b.rdb$field_name as NM_CP_ORI,    

       e.rdb$relation_name as NM_TB_DES, 

       d.rdb$field_name as NM_CP_DES     

from RDB$RELATION_CONSTRAINTS a         

inner join rdb$index_segments b on (b.rdb$index_name = a.rdb$index_name)  

inner join rdb$indices        c on (c.rdb$index_name = a.rdb$index_name)  

inner join rdb$index_segments d on (d.rdb$index_name = c.rdb$foreign_key

inner join rdb$indices        e on (e.rdb$index_name = c.rdb$foreign_key

where a.rdb$relation_name   = 'TABELA' and

      a.rdb$constraint_type = 'CONSTRAINTS'   // PRIMARY KEY - FOREINGN KEY 

order by a.rdb$constraint_name