Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Изменить формулу вычисления поля 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.023 c
1-1083497810
XSteel
2004-05-02 15:36
2004.05.16
Динамические массивы в Delphi 1 и структуры > 65кил


1-1082750758
ALF
2004-04-24 00:05
2004.05.16
Самодельный скин к программе и системные шрифты


9-1073424736
Orcy
2004-01-07 00:32
2004.05.16
Как загрузить 3ds в OpenGL


1-1083288251
Сергей Бушин
2004-04-30 05:24
2004.05.16
Алгоритм RSA


14-1082731753
Nick-From
2004-04-23 18:49
2004.05.16
Сбор информации из internet