Конференция "Базы" » Запрос и множество [D5]
 
  • Lera © (25.12.08 16:37) [0]
    Доброго времени суток! Уважаемые, такая ситуация:
    1. Есть запрос из БД в хранимой процедуре, отбирающий договора страхования по дате регистрации из БД.
    2. Есть массив номеров договоров, закаченнных из файла через Delphi в хранимку.

    Вопрос:
    Можно ли в Oracle соеденить этот массив с запросом так, как будто-бы массив это таблица БД?
  • Ega23 © (25.12.08 16:51) [1]
    where id in (1,2,3,6,5245,444)

    ?
  • Sergey13 © (25.12.08 16:52) [2]
    Создай временную таблицу, залей туда массив и соединяй.
  • Lera © (25.12.08 16:58) [3]
    Таблицу создавать нельзя исходя из идеологии.
    Да, нужно что-то подобное "where id in (1,2,3,6,5245,444)" , толко число элементов множества неизвестно.
  • Sergey13 © (25.12.08 17:00) [4]
    > [3] Lera ©   (25.12.08 16:58)
    > Таблицу создавать нельзя исходя из идеологии.

    Мусульмане фанатики? 8-)
  • Ega23 © (25.12.08 17:09) [5]

    > Да, нужно что-то подобное "where id in (1,2,3,6,5245,444)"
    > , толко число элементов множества неизвестно.


    Подавай входным параметром как строку и динамический exec. Наверняка в Oracle что-то подобное есть.
  • sniknik © (25.12.08 17:33) [6]
  • Petr V. Abramov © (25.12.08 17:33) [7]

    > Lera ©   (25.12.08 16:37)  

    что возвращает хранимка - nested table? курсор?

    > Есть массив номеров договоров, закаченнных из файла через
    > Delphi в хранимку.

    в хранимку ничего закачать нельзя, закачать можно во временную таблицу, nested table и т.д.
  • Поросенок Винни-Пух © (27.12.08 15:21) [8]
    преобразовать строку с набором параметров в коллекцию, затем применить к ней псевдофункцию table. и станет возможным делать селект из коллекции
  • StriderMan (30.12.08 13:55) [9]
    можно сделать хранимку типа

    CREATE PROCEDURE ID_LIST
     RETURNS ID INTEGER
    AS
    BEGIN
     ID = 1;
     SUSPEND;
     ID = 4;
     SUSPEND
     ....
     ID = N;
     SUSPEND;
    END



    и приджойнить ее к основной ХП.
  • Медвежонок Пятачок © (30.12.08 17:15) [10]
    ... а перед этим еще и ib прилинковать к ораколу
 
Конференция "Базы" » Запрос и множество [D5]
Есть новые Нет новых   [134477   +39][b:0][p:0.001]