"Oleg Matveyev" ...

Всем привет.

В который раз пишу конструкцию вида

FROM MyTable t
WHERE :param1 CONTAINING ',' || CAST(t.id  AS VARCHAR(10)) || ','

где param1 - VARCHAR вида ',12,13,14,15,'
t.id - PK типа INTEGER

и продолжаю мечтать, чтобы FB понимал такую конструкцию:

FROM MyTable t
WHERE t.id IN (:param1)

со всеми вытекающими последствиям, в виде использования индексов.

   По-моему, все кому надо, давно уже написали себе процедуру, выдающую
эти ID, выдранные из строки :

       WHERE t.id IN (SELECT ID FROM SP_UNLIST(:param1, :delimiter))

Может, в 3.0 ?

   Нет конечно. Разве что встроенную ф-цию UNLIST, возвращающую резалтсет.

--
Хорсун Влад

Ответить