可以用动态sql实现zhang@zhang>declare 2 3 sql_command varchar2(100); 4 n number; 5 begin 6 sql_command:='(18+15)*20>500'; 7 execute immediate 'select 1 from dual where '||sql_command into n; 8 if n=1 then 9 dbms_output.put_line(sql_command); 10 end if; 11 end; 12 / (18+15)*20>500
在给你个例子zhang@zhang>declare 2 3 sql_command varchar2(100); 4 n number; 5 begin 6 sql_command:='(18+15)*20'; 7 execute immediate 'select '||sql_command||' from dual' into n; 8 dbms_output.put_line(sql_command||'='||N); 9 end; 10 / (18+15)*20=660
2
3 sql_command varchar2(100);
4 n number;
5 begin
6 sql_command:='(18+15)*20>500';
7 execute immediate 'select 1 from dual where '||sql_command into n;
8 if n=1 then
9 dbms_output.put_line(sql_command);
10 end if;
11 end;
12 /
(18+15)*20>500
2
3 sql_command varchar2(100);
4 n number;
5 begin
6 sql_command:='(18+15)*20';
7 execute immediate 'select '||sql_command||' from dual' into n;
8 dbms_output.put_line(sql_command||'='||N);
9 end;
10 /
(18+15)*20=660