Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
ВнизИзменить формулу вычисления поля Computed Source Найти похожие ветки
← →
guest_Dmitry (2004-04-21 09:31) [0]Как изменить формулу вычисления поля Computed Source с учетом того, что имеются данные, и они используются в процедурах и представлениях?
← →
guest_Dmitry (2004-04-21 09:33) [1]Извиняюсь, база IB 6.5.
← →
guest_Dmitry (2004-04-21 09:33) [2]Извиняюсь, база IB 6.5.
← →
Kadr © (2004-04-21 09:36) [3]Извлечь метаданные, внести изменения, пересоздать БД
← →
guest_Dmitry (2004-04-21 09:43) [4]Это решение я знаю, неужели никак проще нельзя? Скриптом это все желательно сделать...
← →
Johnmen © (2004-04-21 09:44) [5]Просто добавить ещё одно COMPUTED поле с нужной формулой...
← →
guest_Dmitry (2004-04-21 09:46) [6]И заменять названия поля во всех процедурах и исходниках программы?
← →
Johnmen © (2004-04-21 09:53) [7]Тогда я что-то не понял это
>с учетом того, что имеются данные, и они используются в
>процедурах и представлениях?
О чем это ?
← →
guest_Dmitry (2004-04-21 09:59) [8]Т.е. база не пустая и данные нужно сохранить.
Поле используется в процедурах, триггерах - select <нужное поле> from ... - т.е. просто удалить естественно не дает.
Может где-то в системных таблицах хранится формула вычисления?
← →
Johnmen © (2004-04-21 11:10) [9]Попробуй (без гарантий)
ALTER TABLE table ALTER column_name <alt_col_clause>
>Может где-то в системных таблицах хранится формула вычисления?
Храниться конечно. Но и в откомпилированном виде тоже, я думаю... А именно он используется при вычислении...
← →
guest_Dmitry (2004-04-21 12:43) [10]Попробовал - не получается, не воспринимает такой синтаксис...
← →
Johnmen © (2004-04-21 12:46) [11]>Попробовал - не получается,
Как и что конкретно ?
>не воспринимает такой синтаксис...
Что это означает ?
← →
guest_Dmitry (2004-04-21 12:58) [12]Пробую:
alter TABLE BODYES alter S100 COMPUTED BY (round(price,2)*qty)
Получаю ошибку:
Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 1, char 30. COMPUTED.
← →
Johnmen © (2004-04-21 13:04) [13]А так ?
alter TABLE BODYES alter S100 TYPE COMPUTED BY (round(price,2)*qty)
← →
guest_Dmitry (2004-04-21 13:09) [14]Попробовал, ту же ошибку выдает...
← →
Johnmen © (2004-04-21 15:19) [15]Ну что ж... Тогда твой путь тернист, извилист и громоздок...:)
Новое поле и правка всех ссылок во всех объектах...
← →
guest_Dmitry (2004-04-21 17:58) [16]Ясно, буду копать дальше. Где хранится это все уже нашел, остался вопрос как поменять...
← →
Johnmen © (2004-04-21 18:01) [17]Поменять что ? Сам текст формулы ? Нет вопросов.
Да только используется то откомпилированный код формулы. В блобе лежит. Его как менять будешь ?
← →
guest_Dmitry (2004-04-21 18:04) [18]Понял я это уже. Там два поля - в одном открытый код, в другом откомпилированный. Первый меняй-не меняй толку никакого. Должен же быть способ изменить значение во втором поле...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.034 c