Изменение длины поля CHAR для связанных таблиц?
Добавлено: 11 мар 2005, 00:34
Вопрос чайника:
Имеется несколько баз с полями
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.
Что я делал неправильно ? прошу совета
Имеется несколько баз с полями
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.
Что я делал неправильно ? прошу совета