Penso che quello che stai dicendo è che vuoi che il database analizzi la stringa della formula. Ad esempio, per Oracle potresti
- Aggiungi una colonna alla tabella per contenere il risultato
-
Eseguire un'istruzione di aggiornamento che richiamerebbe una funzione PL/SQL con i valori delle colonne nella tabella e il testo della formula
update {table} set formula_result =fn_calc_result (col1, col2, formula_column);
La funzione PL/SQL creerebbe una stringa sostituendo "col1" e "col2" e così via con i valori effettivi di quelle colonne. Puoi farlo con espressioni regolari, purché le formule siano scritte in modo coerente.
Quindi usa
execute immediate 'select '||{formula}||' from dual' into v_return;
return v_return;
per calcolare il risultato e restituirlo.
Naturalmente, potresti anche scrivere il tuo parser. Se decidi di procedere in questo modo, non dimenticare di gestire la precedenza delle operazioni, le parentesi e così via.