Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменить формулу вычисления поля Computed Source


guest_Dmitry ©   (2004-04-21 09:31:00) 

Как изменить формулу вычисления поля Computed Source с учетом того, что имеются данные, и они используются в процедурах и представлениях?


guest_Dmitry   (2004-04-21 18:04:00) [1]

Понял я это уже. Там два поля - в одном открытый код, в другом откомпилированный. Первый меняй-не меняй толку никакого. Должен же быть способ изменить значение во втором поле...


Johnmen   (2004-04-21 18:01:00) [2]

Поменять что ? Сам текст формулы ? Нет вопросов.
Да только используется то откомпилированный код формулы. В блобе лежит. Его как менять будешь ?


guest_Dmitry   (2004-04-21 17:58:00) [3]

Ясно, буду копать дальше. Где хранится это все уже нашел, остался вопрос как поменять...


Johnmen   (2004-04-21 15:19:00) [4]

Ну что ж... Тогда твой путь тернист, извилист и громоздок...:)
Новое поле и правка всех ссылок во всех объектах...


guest_Dmitry   (2004-04-21 13:09:00) [5]

Попробовал, ту же ошибку выдает...


Johnmen   (2004-04-21 13:04:00) [6]

А так ?
alter TABLE BODYES alter S100 TYPE COMPUTED BY (round(price,2)*qty)


guest_Dmitry   (2004-04-21 12:58:00) [7]

Пробую:
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 12:46:00) [8]

>Попробовал - не получается,

Как и что конкретно ?

>не воспринимает такой синтаксис...

Что это означает ?


guest_Dmitry   (2004-04-21 12:43:00) [9]

Попробовал - не получается, не воспринимает такой синтаксис...


Johnmen   (2004-04-21 11:10:00) [10]

Попробуй (без гарантий)
ALTER TABLE table ALTER column_name <alt_col_clause>

>Может где-то в системных таблицах хранится формула вычисления?

Храниться конечно. Но и в откомпилированном виде тоже, я думаю... А именно он используется при вычислении...


guest_Dmitry   (2004-04-21 09:59:00) [11]

Т.е. база не пустая и данные нужно сохранить.
Поле используется в процедурах, триггерах - select <нужное поле> from ... - т.е. просто удалить естественно не дает.
Может где-то в системных таблицах хранится формула вычисления?


Johnmen   (2004-04-21 09:53:00) [12]

Тогда я что-то не понял это

>с учетом того, что имеются данные, и они используются в
>процедурах и представлениях?

О чем это ?


guest_Dmitry   (2004-04-21 09:46:00) [13]

И заменять названия поля во всех процедурах и исходниках программы?


Johnmen   (2004-04-21 09:44:00) [14]

Просто добавить ещё одно COMPUTED поле с нужной формулой...


guest_Dmitry   (2004-04-21 09:43:00) [15]

Это решение я знаю, неужели никак проще нельзя? Скриптом это все желательно сделать...


Kadr   (2004-04-21 09:36:00) [16]

Извлечь метаданные, внести изменения, пересоздать БД


guest_Dmitry   (2004-04-21 09:33:00) [17]

Извиняюсь, база IB 6.5.


guest_Dmitry   (2004-04-21 09:33:00) [18]

Извиняюсь, база IB 6.5.


Наверх

Титульная страница Поиск, карта сайта Написать письмо