Форум: "Базы";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
ВнизДобавление столбца в таблицу InterBase Найти похожие ветки
← →
_oleg (2005-06-09 08:31) [0]Пытаюсь в run-time добавить новые поля в таблицу. Для этого выполняю SQL-запросы:
ALTER TABLE DATA ADD COLOR_MODE CHAR(1);
COMMIT RETAIN;
ALTER TABLE DATA ADD COLOR INTEGER;
COMMIT RETAIN;
ALTER TABLE DATA ADD H_COEFF SMALLINT;
COMMIT RETAIN;
ALTER TABLE DATA ADD L_COEFF SMALLINT;
COMMIT RETAIN;
ALTER TABLE DATA ADD S_COEFF SMALLINT;
COMMIT RETAIN;
В результате в таблице появляются поля:
COLOR_MODE CHAR(1);
COLOR NUMERIC(9,4);
H_COEFF NUMERIC(4,4);
L_COEFF SMALLINT;
S_COEFF SMALLINT;
Почему типы не соответствуют заданным ?
После такого добавления таблица не открывается, невозможно сделать Backup базы, вылазит "arithmetic exception,numeric overflow or string truncation".
При работе с другими базами такой же структуры, поля добавляются нормально. Использую Firebird 1.0.
В чем может быть причина, и как добавить столбцы в эту таблицу ?
← →
Zacho © (2005-06-09 08:50) [1]А каким инструментом ты это делаешь ?
И почему используешь FB 1.0, а не 1.0.3 ?
← →
_oleg (2005-06-09 08:55) [2]Уточняю: Использую FB 1.0.2.
Запросы посылаю из Delphi через TIBSQL.
← →
_oleg (2005-06-09 12:04) [3]Решить проблему удалось, но очень коряво - добавил сначала два ненужных столбца NULL1 и NULL2 типа SMALLINT, потом остальные. Получилось вот что:
NULL1 SMALLINT;
NULL2 NUMERIC(4,4);
COLOR_MODE CHAR(1);
COLOR INTEGER;
H_COEFF SMALLINT;
L_COEFF SMALLINT;
S_COEFF SMALLINT;
Хочется разобраться в проблеме до конца. Может кто сталкивался ?
← →
Johnmen © (2005-06-09 12:07) [4]"В потолке открылся люк - не волнуйтесь, это глюк" (с)
← →
Anatoly Podgoretsky © (2005-06-09 12:08) [5]А диалект какой?
← →
_oleg (2005-06-09 12:12) [6]> А диалект какой?
3
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.07.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c