Главная страница
    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-1083643955
Sirus
2004-05-04 08:12
2004.05.16
Trace into и Source file not found: somefile.pas....


3-1082382334
Zn
2004-04-19 17:45
2004.05.16
Operation cancelled at user s request.


14-1083148485
Думкин
2004-04-28 14:34
2004.05.16
Погода пииип-пип


3-1082433150
31512
2004-04-20 07:52
2004.05.16
Эх! Сортировочка! Или как задать правила сортировки?


8-1077973068
AlexTregubov
2004-02-28 15:57
2004.05.16
Цветное изображение в серое





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский