Vlad Khorsun wrote:
create or alter procedure proc (mask varchar(255))
 returns (id integer, name varchar(255))
as
begin
 select first 1 name from table
  where name starting :mask
 order by name
 into :name;

 select first 1 skip 10 name from table
  where name <= :name
 order by name desc
 into :name;

 for select first 21 id, name from table
  where name >= :s
 order by name
 into :id, :name
 do suspend;
end

Насколько понимаю, ФИБы в режиме ограниченного кэша примерно так и работают.

Ответить