Konstantin R. Beliaev wrote: > Еще Ann или Helen приводили пример хранимки, превращающей строку в датасет. <...>
Да и не только они: create or alter procedure CONVERT_STRING_TO_ROWSET ( STRING varchar(32700), SEPARATOR char(1) = ';') returns ( ROW varchar(255)) AS /* ----- Original Message ----- From: "sasha" <trofimich-re5jqeeqqe8avxtiumw...@public.gmane.org> Newsgroups: gmane.comp.db.firebird.russian To: <ru-firebird-/jypxa39uh5tlh3mboc...@public.gmane.org> Sent: Monday, October 29, 2007 2:35 PM Subject: Re: Подготовленный запрос с in > >> Спасибо, попробую > > Мы как-то года полтора назад сравнивали скорость IN (более 1000 > элементов) и джойна с процедурой, которая парсит строку. С процедурой > быстрее в разы. Могу даже примером процедуры для парсинга поделиться */ begin Separator = coalesce(Separator, ';'); Row = ''; while (String != '') DO begin if (substring(String from 1 for 1) != Separator) then Row = Row || substring(String from 1 for 1); else begin suspend; Row = ''; end String = substring(String from 2); end if (Row != '') then suspend; end