[firebase-br] Identificar o Tamanho do Campo via SQL

Carlos H. Cantu listas em warmboot.com.br
Ter Out 6 17:50:04 -03 2009


Deve estar em f.rdb$field_precision.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

KM> Fala galera, boa tarde!

KM> Fiz o seguinte select pra descobrir o tipo e o tamanho de um campo no FB:

KM> select
KM>   rf.rdb$field_name, rf.rdb$relation_name, rf.rdb$field_source,
KM>   f.rdb$field_type, t.rdb$type_name, f.rdb$field_length,
KM>   f.rdb$field_scale, f.rdb$field_precision, f.rdb$field_sub_type,
KM>   f.rdb$character_length
KM> from
KM>   rdb$relation_fields rf join
KM>     rdb$fields f join
KM>       rdb$types t on t.rdb$field_name = 'RDB$FIELD_TYPE' and
KM>                      f.rdb$field_type = t.rdb$type
KM>     on rf.rdb$field_source = f.rdb$field_name
KM> where
KM>   (rf.rdb$field_name = 'NOME_DO_CAMPO' and
KM>   rf.rdb$relation_name = 'NOME_DA_TABELA')

KM> Com char e varchar tudo tranquilo, porém, quando o campo é Numeric,
KM> Decimal ou Double é que a coisa complica, pelo seguinte motivo:

KM> - Um campo NUMERIC(15,3)
KM>    aparece no select com field_length=8 e field_scale=-3.
KM> - Um campo NUMERIC(12,7)
KM>    aparece no select com field_length=8 e field_scale=-7

KM> Agora a pergunta: como fazer para descobrir se é 15, 12 ou qualquer
KM> outro número?

KM> Abraços!

KM> Kelver Merlotti
KM> Coordenador Editorial do Portal www.ActiveDelphi.com.br
KM> Contato: kelver em activedelphi.com.br
KM> Google: kmerlotti em gmail.com
KM> Twitter: http://twitter.com/kmerlotti
KM> Tem um segundo? Então, dá uma olhadinha nisso:
KM> Um site de publicidades, de Portugal, está pagando em euros (quase 3x
KM> mais que em reais) pra quem estiver disposto a:
KM> * Ler anúncios
KM> * Visitar sites
KM> * Clicar em banners
KM> * Navegar na NET
KM> * Ler e-mails
KM> * Convidar novos usuários
KM> O pagamento é feito em cheque! Registra lá!! Não custa nada! ;-)
KM> http://www.publipt.com/pages/index.php?refid=kmerlotti

KM> ______________________________________________
KM> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
KM> Para saber como gerenciar/excluir seu cadastro na lista, use:
KM> http://www.firebase.com.br/fb/artigo.php?id=1107
KM> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista