К> 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;
и опять же все просто, очевидно и разбито на изолированные части
--
С уважением
Кочмин Александр