Myslím, že to, co říkáte, je, že chcete, aby databáze analyzovala řetězec vzorce. Například pro Oracle můžete
- Přidejte do tabulky sloupec, který bude obsahovat výsledek
-
Spusťte aktualizační příkaz, který by zavolal funkci PL/SQL s hodnotami sloupců v tabulce a textem vzorce
aktualizovat {table} set formula_result =fn_calc_result (sloupec1, sloupec2, sloupec vzorce);
Funkce PL/SQL by vytvořila řetězec nahrazením "col1" a "col2" a tak dále skutečnými hodnotami těchto sloupců. Můžete to udělat s regulárními výrazy, pokud jsou vzorce psány konzistentně.
Poté použijte
execute immediate 'select '||{formula}||' from dual' into v_return;
return v_return;
pro výpočet výsledku a jeho vrácení.
Samozřejmě můžete také napsat svůj vlastní parser. Pokud se rozhodnete jít tímto způsobem, nezapomeňte zacházet s prioritou operací, závorkami a tak dále.