Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql/oracle przechowywana formuła matematyczna

Myślę, że chcesz, aby baza danych przeanalizowała ciąg formuły. Na przykład w przypadku Oracle możesz

  • Dodaj kolumnę do tabeli, aby zawierała wynik
  • Uruchom instrukcję aktualizującą, która wywoła funkcję PL/SQL z wartościami kolumn w tabeli i tekstem formuły

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

Funkcja PL/SQL utworzy ciąg, zastępując „col1” i „col2” itd. rzeczywistymi wartościami tych kolumn. Możesz to zrobić za pomocą wyrażeń regularnych, o ile formuły są konsekwentnie pisane.

Następnie użyj

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

obliczyć wynik i zwrócić go.

Oczywiście możesz też napisać własny parser. Jeśli zdecydujesz się pójść w ten sposób, nie zapomnij zająć się pierwszeństwem operacji, nawiasami i tak dalej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co jest nie tak z tym zapytaniem mysql?

  2. buforowanie PHP wyników sql

  3. Wybór pojedynczego wiersza w MySQL

  4. jak wyczyścić plik konfiguracyjny pamięci podręcznej Laravel Bootstrap?

  5. MySQL — zwiększ wartość kolumny lub wstaw dane, jeśli nie istnieją