我写的一个存储过程中,一个sql语句需要动态的更新查询条件,这个查询条件就又我调用存储过程的时候当作参数传进来,比如: UF_REPORT_TEMPLATE(aa in VARCHAR2) 我传了一个条件:aa aa传入存储过程中的sql语句:select * from test where 1=1 aa 注:aa的值为 and var>1 然后系统提示:无效的关系运算符
但是sql语句写成:select * from test where 1=1 and var=aa 就正确!
求高手解答:如何把一个条件(如:a>1)当作参数传入存储过程,让sql语句能够调用!谢谢
但是sql语句写成:select * from test where 1=1 and var=aa 就正确!
求高手解答:如何把一个条件(如:a>1)当作参数传入存储过程,让sql语句能够调用!谢谢
我的语句是这样写的,如果把选中的 drug.id=aa 换成 aa 就不行,我要怎样才能换成aa后编译通过呢?
sqlstr varchar2(999);begin
......
sqlstr := 'insert into ****** select *** where '||aa; --注意字符型要把单引号拼进aa里去
execute immediate sqlstr ;
end;
declare sqlstr varchar2(999),
aa varchar2(40);
begin
aa:=' and var>1'; --var 是你表中的一个字段
sqlstr:='select * from test where 1=1'||aa;
execute immediate sqlstr;
end;