Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql/oracle съхранена математическа формула

Мисля, че това, което казвате, е, че искате базата данни да анализира низа на формулата. Например за Oracle бихте могли

  • Добавете колона към таблицата, която да съдържа резултата
  • Изпълнете изявление за актуализиране, което ще извика PL/SQL функция със стойностите на колоните в таблицата и текста на формулата

    update {table} set formula_result =fn_calc_result (col1, col2, formula_column);

Функцията PL/SQL ще създаде низ чрез замяна на "col1" и "col2" и така нататък с действителните стойности на тези колони. Можете да направите това с регулярни изрази, стига формулите да са написани последователно.

След това използвайте

execute immediate 'select '||{formula}||' from dual' into v_return;
return v_return;

да изчисли резултата и да го върне.

Разбира се, можете да напишете и свой собствен анализатор. Ако решите да отидете по този начин, не забравяйте да се справите с приоритета на операциите, скоби и т.н.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. показване на стойността на базата данни в модална рамка показва само първия запис

  2. Изтриване на милиони редове в MySQL

  3. Автоматично увеличение на SQL по дата и час

  4. защо получавам синтактична грешка за подготвено изявление?

  5. JDBC:Как да извлека резултата от функцията SQL COUNT от набора от резултати?