Saya pikir apa yang Anda katakan adalah Anda ingin database mengurai string rumus. Misalnya, untuk Oracle Anda dapat
- Tambahkan kolom ke tabel untuk memuat hasil
-
Jalankan pernyataan pembaruan yang akan memanggil fungsi PL/SQL dengan nilai kolom dalam tabel dan teks rumus
perbarui {table} set formula_result =fn_calc_result (col1, col2, formula_column);
Fungsi PL/SQL akan membuat string dengan mengganti "col1" dan "col2" dan seterusnya dengan nilai sebenarnya dari kolom tersebut. Anda dapat melakukannya dengan ekspresi reguler, selama rumus ditulis secara konsisten.
Kemudian gunakan
execute immediate 'select '||{formula}||' from dual' into v_return;
return v_return;
untuk menghitung hasilnya dan mengembalikannya.
Tentu saja, Anda juga bisa menulis parser Anda sendiri. Jika Anda memutuskan untuk pergi ke sana, jangan lupa untuk menangani prioritas operasi, tanda kurung, dan sebagainya.