Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1083588434
Шишкин Илья
2004-05-03 16:47
2004.05.16
Скроллинг в MEMO и RICHEDIT


1-1083497726
anod
2004-05-02 15:35
2004.05.16
Список фаилов в меню


1-1083243833
Mikle
2004-04-29 17:03
2004.05.16
FastReport и редактирование готовых отчетов


4-1080740994
Lobster
2004-03-31 17:49
2004.05.16
Как добавить русский язык в Windows?


14-1082960033
Grab3
2004-04-26 10:13
2004.05.16
Nokia 3310





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский