Nikolay Trifonov wrote:
update RDB$FIELDS set
RDB$FIELD_SUB_TYPE = 0,
RDB$CHARACTER_SET_ID = 52
where RDB$FIELD_NAME =
  (select RDB$FIELD_SOURCE
  from RDB$RELATION_FIELDS
  where (RDB$FIELD_NAME = 'NOTE') and (RDB$RELATION_NAME = 'FIRMS'));

Ты чего меняешь-то? Ему длину поля надо :-)

update rdb$fields set
rdb$field_length=20,
rdb$character_length=20 /*это для однобайтных символов, для UTF8 должно быть что-то другое*/
where rdb$field_length=10 /*старая длина, можно без нее*/
  and rdb$field_name =
        (select rfr.rdb$field_source
        from rdb$relation_fields rfr
        where rdb$relation_name = 'MYTABLE'
                and rdb$field_name = 'MYFIELD');

Ответить