当一个栏位的值是表达式,然后要计算他,其实就可以用execute immediate的办法来。
create or replace function bc_getexpression_value(vexp varchar2) return number
is
vtmp number;
vstr varchar2(200);
begin
vstr:='select '||vexp||' from dual';
EXECUTE IMMEDIATE vstr into vtmp;
return vtmp;
exception
when others then
return null;
end;
本文介绍了一种利用PL/SQL中的EXECUTE IMMEDIATE过程来计算存储在数据库中的表达式的值的方法。通过创建一个名为bc_getexpression_value的函数,可以灵活地解析并执行任意的SQL表达式,从而获取其数值结果。

被折叠的 条评论
为什么被折叠?



