![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос и множество [D5]
Lera © (2008-12-25 16:37:00)Доброго времени суток! Уважаемые, такая ситуация:
1. Есть запрос из БД в хранимой процедуре, отбирающий договора страхования по дате регистрации из БД.
2. Есть массив номеров договоров, закаченнных из файла через Delphi в хранимку.
Вопрос:
Можно ли в Oracle соеденить этот массив с запросом так, как будто-бы массив это таблица БД?
Медвежонок Пятачок (2008-12-30 17:15:00) [1]... а перед этим еще и ib прилинковать к ораколу
StriderMan (2008-12-30 13:55:00) [2]можно сделать хранимку типа
CREATE PROCEDURE ID_LIST
RETURNS ID INTEGER
AS
BEGIN
ID = 1;
SUSPEND;
ID = 4;
SUSPEND
....
ID = N;
SUSPEND;
END
и приджойнить ее к основной ХП.
Поросенок Винни-Пух (2008-12-27 15:21:00) [3]преобразовать строку с набором параметров в коллекцию, затем применить к ней псевдофункцию table. и станет возможным делать селект из коллекции
sniknik (2008-12-25 17:33:00) [4]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1230124390&n=1
Petr V. Abramov (2008-12-25 17:33:00) [5]
> Lera © (25.12.08 16:37)
что возвращает хранимка - nested table? курсор?
> Есть массив номеров договоров, закаченнных из файла через
> Delphi в хранимку.
в хранимку ничего закачать нельзя, закачать можно во временную таблицу, nested table и т.д.
Ega23 (2008-12-25 17:09:00) [6]
> Да, нужно что-то подобное "where id in (1,2,3,6,5245,444)"
> , толко число элементов множества неизвестно.
Подавай входным параметром как строку и динамический exec. Наверняка в Oracle что-то подобное есть.
Sergey13 (2008-12-25 17:00:00) [7]> [3] Lera © (25.12.08 16:58)
> Таблицу создавать нельзя исходя из идеологии.
Мусульмане фанатики? 8-)
Lera (2008-12-25 16:58:00) [8]Таблицу создавать нельзя исходя из идеологии.
Да, нужно что-то подобное "where id in (1,2,3,6,5245,444)" , толко число элементов множества неизвестно.
Sergey13 (2008-12-25 16:52:00) [9]Создай временную таблицу, залей туда массив и соединяй.
Ega23 (2008-12-25 16:51:00) [10]
where id in (1,2,3,6,5245,444)?