К> for select id, name from tovar К> where ((:typesearch = 1) and (name = :searchstr)) К> or ((:typesearch = 2) and (name like :searchstr || '%')) К> or ((:typesearch = 3) and (name like '%' || :searchstr || '%')) К> do ....
К> вроде элементарно, оптимизатор правда пишет: К> PLAN (TOVAR T INDEX (TOVAR_NAME)) К> НО !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! К> Я думаю ты будешь удивлён ;) if typeSearch=1 then for select id, name from tovar where (name = :searchstr) do select from sub_routine.......... if typeSearch=2 then for select id, name from tovar where (name like :searchstr || '%') do select from sub_routine.......... if typeSearch=3 then for select id, name from tovar where (name like '%' || :searchstr || '%') do select from sub_routine.......... где sub_route - процедура куда запихано то что у тебя после do и все работает быстро и запросы элементарные и гибко очень. -- С уважением Кочмин Александр