[firebase-br] Identificar Campo READ-ONLY

Marcos Weimer marcosweimer em gmail.com
Sex Dez 30 09:57:31 -03 2011


Bom dia!

No "apagar" das luzes estou apanhando para uma rotina aqui que replica os
dados de um banco para outro.

Como é tudo dinamico, pego os dados dos campos das tabelas com o seguinte
select:

SELECT r.RDB$FIELD_NAME AS nome,
 f.RDB$FIELD_LENGTH AS tamanho,
 CASE f.RDB$FIELD_TYPE
   WHEN 261 THEN 'BLOB'
   WHEN 14 THEN 'CHAR'
   WHEN 40 THEN 'CSTRING'
   WHEN 11 THEN 'D_FLOAT'
   WHEN 27 THEN 'DOUBLE'
   WHEN 10 THEN 'FLOAT'
   WHEN 16 THEN 'INT64'
   WHEN 8 THEN 'INTEGER'
   WHEN 9 THEN 'QUAD'
   WHEN 7 THEN 'SMALLINT'
   WHEN 12 THEN 'DATE'
   WHEN 13 THEN 'TIME'
   WHEN 35 THEN 'TIMESTAMP'
   WHEN 37 THEN 'VARCHAR'
   ELSE 'UNKNOWN'
 END AS tipo,
 r.rdb$field_position AS posicao,
 CASE r.rdb$null_flag WHEN 1 THEN 'S' ELSE 'N' END AS NOT_NULL
 FROM RDB$RELATION_FIELDS r
 LEFT JOIN RDB$FIELDS f ON r.RDB$FIELD_SOURCE = f.RDB$FIELD_NAME
 WHERE r.RDB$RELATION_NAME= :tabela
 ORDER BY r.RDB$FIELD_POSITION


Só que em alguns casos beeem especificos tem colunas read-only ae na hora
de transferir os dados la se vão erros e erros... cannot update read-only
column...

alguem tem a informação de onde faço a leitura para identificar se o campo
é read-only ?

Estou no google a um bom tempo e até agora não achei nada.

vlw

-=Ma®©oS=-
Marcos R. Weimer
Puma GTE 1974 Tubarão



Mais detalhes sobre a lista de discussão lista