К>  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 ....

ну и для любителей знать больше вариантов еще один.
for select from sp_par(typesearch) do.......

где в sp_par:

if typeSearch=1
 then  for select id, name from tovar
   where (name = :searchstr)
    do suspend;
if typeSearch=2
 then  for select id, name from tovar
   where (name like :searchstr || '%')
    do suspend;
if typeSearch=3
 then  for select id, name from tovar
   where (name like '%' || :searchstr || '%')
    do suspend;

и опять же все просто, очевидно и разбито на изолированные части


--
С уважением
Кочмин Александр


Ответить