Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Вниз

Подскажите, как заставить Oracle выполнить мат. выражение ?   Найти похожие ветки 

 
Termik   (2002-04-23 09:51) [0]

Стоит проблема: в таблице записано математическое выражение типа: "5+3*8..." и т.д. Как заставить сервер его выполнить ? В выражении могут быть также использованы скобки и функции (написанные мной и встроенные). Анализатор писать в лом :)) Может, есть другой выход ?
Заранее благодарю.


 
Lusha   (2002-04-23 10:13) [1]

SELECT 5+3*8... FROM DUAL;


 
roottim   (2002-04-23 10:22) [2]

1. вытаскиваеш это выражение из табл
2. динамически формируеш скл (либо на делфе либо ХП)
если те функции(ХП) нормально написаны на сервере.. должно выполниться!


 
IPisk   (2002-04-23 10:35) [3]

Сначала создай свою функцию:

CREATE OR REPLACE function My_test(sq in varchar2)
return varchar2
is
rez varchar2(50);
begin
execute immediate "select "||sq||" from dual" into rez;
return rez;
EXCEPTION
WHEN NO_DATA_FOUND THEN return null;
End My_test;
/


И вторую функцию


Затем пиши
select my_test(<тут должна быть твоя функция, возвращающая текст формулы>) from dual




Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.05.20;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.006 c
1-64691
Reticent
2002-05-06 13:33
2002.05.20
2 Формы


1-64626
alkmas
2002-05-08 12:22
2002.05.20
Вызов объекта класса из DLL


3-64544
Glonia Zbanov
2002-04-24 11:05
2002.05.20
поиск MSSQL


1-64688
robbit
2002-05-03 10:05
2002.05.20
Наследник TForm


1-64711
IDL
2002-05-06 19:36
2002.05.20
Нужен элемент baloon





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