oracle存储过程开发,涉及字符串SQL处理
存储过程中现有变量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;
如何实现求指点。
[解决办法]
declare
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;