存储过程中现有变量A,B,C......不定数量的变量,且都有赋值。现有动态字符串 STR :='A+B-C'(每次获得的字符串不同),如何求得STR字符串所表示的表达式的值?
例如:A=1,B=2,C=3,D=4
当STR := 'A+B'时,求得A+B=3;
当STR := 'A-B'时,求得A-B=-1;
当STR := 'A+B-C'时,求得A+B-C=0;
如何实现求指点。
例如:A=1,B=2,C=3,D=4
当STR := 'A+B'时,求得A+B=3;
当STR := 'A-B'时,求得A-B=-1;
当STR := 'A+B-C'时,求得A+B-C=0;
如何实现求指点。
解决方案 »
- 小妹遇到一个很简单的问题,请各位大哥帮帮
- 我用 PL/SQL developer 写存储过程时,当我输入dbms_out.put_line 时总是提示未连接到 oracle,但事实上我是连接到数据库的。为什么啊?
- 为什么我的PL/SQL Developer连不上我的本地Oracle数据库?
- ====救命啊===,500分求此问题的解决,一次只能开100分 -- SOS
- 小问题!date类型占几个字节?
- ORA-00600这是什么错误
- 在 oracle enterprise manager console创建表遇到问题
- 创建视图时,遇到一个问题,字段的求和不能得到
- JDBC与SQLJ
- 请问哪儿可以下载rose的pb插件的licence或crack?
- 数组里的值和实际查询出来的不一样啊
- 请教一个SQL问题.(全部分,送给大家)
str varchar2(10) := '1*2+3';
sql_s varchar2(100);
n number;
begin
sql_s := 'select '||str||' from dual';
execute immediate sql_s into n;
dbms_output.put_line(str ||' = '||n);
end;
li_return number;
ls varchar2(32);
begin
ls:=replace(replace(replace(ls_sql,'A',li_A),'B',li_B),'C',li_C);
execute immediate 'select '||ls ||' from dual ' into li_return;
return(li_return);
end getvalue;
这个只是是例子,作参考。