Dmitri Kuzmenko пишет:

Дык это как бы понятно. И понятно, что ни к чему давать системное имя
домену CHAR40.
Непонятно в чём грабли при попытке использования более человеческих имен
доменов вместо системных RDB$xxxx.

что-то я тебя перестал понимать.

Понятно, что имя у домена должно быть не RDB$CHAR40, а просто CHAR40.
И если есть табличка T с полями
 FM CHAR40,
 IM CHAR40,
 OT CHAR40,
/* кстати, здесь IBExpert культурно покажет, что CHAR40=CHAR(40) */
 ...
то при необходимости смены типа правильнее сделать так:
 CREATE DOMAIN CHAR41 CHAR(41);
 ALTER TABLE T COLUMN FM TYPE CHAR41;
 (а затем на всяк случай UPDATE T SET FM=FM)

и вряд ли кому взбредет в голову сделать так:
 ALTER DOMAIN CHAR40 TYPE CHAR(41);

И вот тут я не понимаю, в чём грабли в комбинации
CREATE DOMAIN/ALTER TABLE ?

--
Игорь Захребетков

Ответить