对一个表和几个表进行检索取值,现在要求,根据存储过程中中传的参数不同,对表进行不同条件的查询,并按参数的条件进行排序,如 如果参数param1=0,select * from tab1 where a > 100 param1=1,select * from tab1 where a<100
如果参数param2 =0 用order by co1 asc
param2 =1 用order by co1 desc这个存储过程中,其实SQL是一个很长复杂的SQL语句,如果用大的if else进行括起来,if中,还是else中,都是相同的,就这两点不同,那么觉得这很一部分可以共用,只是改下条件,,但我想,是不是不家其它的方法,可以直接将条件做为参数,然后赋于SQL进行查询呢???
如果参数param2 =0 用order by co1 asc
param2 =1 用order by co1 desc这个存储过程中,其实SQL是一个很长复杂的SQL语句,如果用大的if else进行括起来,if中,还是else中,都是相同的,就这两点不同,那么觉得这很一部分可以共用,只是改下条件,,但我想,是不是不家其它的方法,可以直接将条件做为参数,然后赋于SQL进行查询呢???
other:= 'and a>100';
elseif(param1=1) then
other:='and a<100';
end if;
select * from a
where 1=1||other;大概就是这样写的