Atención: Lo siguiente solo es un trozo de codigo que nunca he probado, solo es una suposición de lo que haria FireBird internamente a la hora de modificar la estructura, hazlo en una base de datos de prueba para ver como te va y nos cuentas
.
Haz la siguiente consulta:
Código SQL
[-]
select RDB$Field_source from rdb$relation_fields where rdb$field_name='NombreDelCampoEnCuestion' and
RDB$relation_name='NombreDeLaTablaDondeEstaElCampoEnCuestion'
Eso te debe devolver un valor parecido al siguiente:
RDB$2519
Una vez tengas ese valor haces:
Código SQL
[-]
update rdb$fields set rdb$field_length='TamanoNuevo' where
rdb$field_name='ElValorQueTeDevolvioAnterior(En nuestro caso RDB$2519)'
Espero que esta suposición funcione correctamente y no vaya a dañar nada en tu base de datos
.