老闆出個難題給我,他要我寫procedure實現formuala計算.
情境:
由使用者輸入公式(formula=A+B)後,計算出對應的公式值輸出如下圖表
條件
formula主要是執行4則運算.
formula 的數目由使用者定義.ex.. f1=A+B,F2=(A*3)-B等等諸如此類
請各位有經驗的前輩們幫幫忙,感謝.
declare
l_result number;
procedure get_result(p_formula varchar2,p_values out number) is
l_sql varchar2(500);
begin
--組合指令
l_sql := 'select '||p_formula ||' from dual';
--執行指令並取得值後回傳
execute immediate l_sql into p_values;
exception
when others then
p_values := null;
end;
begin
--Call procedure
get_result('3+4',l_result);
--Dsiplay result
dbms_output.put_line(l_result);
end;