* Essa consulta é CASE SENSITIVE
SELECT * FROM rdb$relation_fields
WHERE RDB$RELATION_FIELDS.rdb$relation_name = :tabela
AND RDB$RELATION_FIELDS.RDB$FIELD_NAME = :campo
Caso não queira ter problemas com maiúsculas e minúsculas, utilize a função UPPER.
Exemplo: […] UPPER(RDB$RELATION_FIELDS.rdb$relation_name) = UPPER(:tabela)
Campos retornados
RDB$RELATION_FIELDS armazena as definições das colunas da tabela e da View.
| Coluna | Tipo | Descrição |
|---|---|---|
| RDB$FIELD_NAME | CHAR(31) | Nome da Coluna. |
| RDB$RELATION_NAME | CHAR(31) | Nome da Tabela ou View. |
| RDB$FIELD_SOURCE | CHAR(31) | Nome do domínio, seja um definido pelo usuário especificado na definição da tabela ou um criado automaticamente pelo sistema. |
| RDB$QUERY_NAME | CHAR(31) | * Atualmente não utilizado |
| RDB$BASE_FIELD | CHAR(31) | Preenchido apenas para uma View, é o nome da coluna da tabela base |
| RDB$EDIT_STRING | VARCHAR(127) | * Não utilizado |
| RDB$FIELD_POSITION | SMALLINT | A posição ordenada, iniciada por zero, da coluna na tabela ou View, numerada da esquerda para a direita. |
| RDB$QUERY_HEADER | BLOB TEXT | * Não utilizado |
| RDB$UPDATE_FLAG | SMALLINT | Indica se a coluna é regular (valor 1) ou computada (valor 0) |
| RDB$FIELD_ID | SMALLINT | Um ID atribuído de RDB $ RELATIONS.RDB $ FIELD_ID no momento em que a coluna foi adicionada à tabela ou exibição. Deve sempre ser tratado como transitório |
| RDB$VIEW_CONTEXT | SMALLINT | Para uma coluna de uma View, o identificador interno da tabela base da qual este campo deriva |
| RDB$DESCRIPTION | BLOB TEXT | Comentários relacionados a coluna |
| RDB$DEFAULT_VALUE | BLOB BLR | O valor armazenado para a cláusula DEFAULT para esta coluna, se houver, escrito em representação de linguagem binária (BLR) |
| RDB$SYSTEM_FLAG | SMALLINT | Indica se a coluna é definida pelo usuário (valor 0) ou definida pelo sistema (valor 1 ou maior) |
| RDB$SECURITY_CLASS | CHAR(31) | Pode fazer referência a uma classe de segurança definida em RDB $ SECURITY_CLASSES, a fim de aplicar limites de controle de acesso a todos os usuários desta coluna |
| RDB$COMPLEX_NAME | CHAR(31) | * Não utilizado |
| RDB$NULL_FLAG | SMALLINT | Indica se a coluna pode ser nula (NULL) ou não nula (valor 1) |
| RDB$DEFAULT_SOURCE | BLOB TEXT | O texto fonte da cláusula DEFAULT, se houver |
| RDB$COLLATION_ID | SMALLINT | O identificador da sequência de agrupamento no conjunto de caracteres da coluna, se não for o agrupamento padrão |