想实现这样一个功能
CREATE OR REPLACE procedure xxxxxxx (i_a varchar2, i_b varchar2, i_c varchar2, i_d varchar2) is
SELECT * FROM t1
WHERE t1.a like i_a AND t1.b like i_b AND t1.c like i_c AND t1.d like i_d
上面这样这段是不对的,我不知道该怎么写,就先用这个表达一下,我想实现这样的功能,i_a、i_b、i_c、i_d传入的查询条件,有可能为空,也有可能只有一个匹配的字(所以要用like),为空时,全部查询,不为空时 根据条件模糊查询(类似于like(%i_a%)这种查询),同时还要考虑效率问题,是不是oracle用like效率会比较低啊,我是初学者,菜鸟一只,还请各位大侠多多指教!
CREATE OR REPLACE procedure xxxxxxx (i_a varchar2, i_b varchar2, i_c varchar2, i_d varchar2) is
SELECT * FROM t1
WHERE t1.a like i_a AND t1.b like i_b AND t1.c like i_c AND t1.d like i_d
上面这样这段是不对的,我不知道该怎么写,就先用这个表达一下,我想实现这样的功能,i_a、i_b、i_c、i_d传入的查询条件,有可能为空,也有可能只有一个匹配的字(所以要用like),为空时,全部查询,不为空时 根据条件模糊查询(类似于like(%i_a%)这种查询),同时还要考虑效率问题,是不是oracle用like效率会比较低啊,我是初学者,菜鸟一只,还请各位大侠多多指教!
WHERE t1.a like '%' || i_a || '%'