Страница 1 из 1

Изменение длины поля CHAR для связанных таблиц?

Добавлено: 11 мар 2005, 00:34
kibi
Вопрос чайника:

Имеется несколько баз с полями
CODE INTEGER NOT NULL,
TEXT1 VARCHAR(64),
TEXT2 VARCHAR(64),
с данными....

хочу уменьшить размер поля символов до 30...

прочитал ссылки по теме:
http://www.ibase.ru/devinfo/changesize.htm
http://ibase.ru/devinfo/compcast.htm

пробовал так isql -i alter.sql:

ALTER TABLE MYTABLE ALTER TEXT1 TYPE CHAR(30);

пишет:
unsuccessful metadata update
-Column ТЕХТ1 from table MYTABLE is referenced in MYPROC1

получается что нельзя изменить длину поля если его описание встречается где-то в процедурах работающих с базой ?

Пробовал запускать IBExpert и поменять длину поля из него.

update RDB$FIELDS set
RDB$FIELD_LENGTH = 30,
RDB$CHARACTER_LENGTH = 30,
RDB$CHARACTER_SET_ID = -1
where RDB$FIELD_NAME = 'RDB$31'

Пишет Operation is not definded for system tables. Unsuccessful metadata update.

Что я делал неправильно ? прошу совета

Добавлено: 11 мар 2005, 09:30
kdv
получается что нельзя изменить длину поля если его описание встречается где-то в процедурах работающих с базой ?
получается.