Главная страница
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.025 c
3-1082612210
ИМХО
2004-04-22 09:36
2004.05.16
Экспорт в DB без BDE


6-1076827229
Tasadar
2004-02-15 09:40
2004.05.16
SSH и Delphi


1-1083241514
V-Isa
2004-04-29 16:25
2004.05.16
Scroll в Delphi 3


14-1083049988
JibSkeart
2004-04-27 11:13
2004.05.16
Генеалогическое дерево языков :)


1-1083243254
Эдуард
2004-04-29 16:54
2004.05.16
Компонент анализа строки с формулой