Набор данных
Набор данных
Возникла такая задача: нужно сделать хранимую процедуру, которая будет работать в несколько этапов. Сначала она должна сделать выборку из нескольких таблиц, а затем уже идут различные действия с этой выборкой - поиск определенных строк, сложный анализ, потом тоже не простой алгоритм расчета основаный на этих даных. Вопрос: как наилучшим образом организовать работу с этой выборкой ? Пока мне на ум приходит только создать временную таблицу и разместить ее там. Может язык интербейс что-то такое поддерживает, типа наборов данных ? Все должно быть выполнено только в одной процедуре
Понял, что остается только таблицу временную делать (просмотр не к сожалению не подойдет т.к. слишком долгая процедура , которая его будет формировать). Продолжаю писать хранимую процедуру. Пытаюсь в ней создать таблицу, на строчке CREATE TABLE tmp1234_ERT - выдает ошибку! Он что не поддерживает такого?
Дык и надо было написать, что будет много запросов. А то пишешь
Тогда только временную таблицу.Сначала она должна сделать выборку из нескольких таблиц, а затем уже идут различные действия с этой выборкой - поиск определенных строк, сложный анализ, потом тоже не простой алгоритм расчета основаный на этих даных.
-
- Заслуженный разработчик
- Сообщения: 644
- Зарегистрирован: 15 фев 2005, 11:34
Что мешает сделать как ФАК рекомендует?
в вольной интерпретации по памяти выглядит так:
временнтая таблица создается один раз, в ней обязательная колонка типа ИД_сессии+остальные столбцы, в процедуре генерируешь этот ИД_сессии и далее работаешь с таблицей: "селект фром врем_тайбл варе ид_сесии = сгенерированый_номерок" при конце процедуры: "делете фром врем_тэйбл варе ид_сесии = сгенерированый_номерок"
в вольной интерпретации по памяти выглядит так:
временнтая таблица создается один раз, в ней обязательная колонка типа ИД_сессии+остальные столбцы, в процедуре генерируешь этот ИД_сессии и далее работаешь с таблицей: "селект фром врем_тайбл варе ид_сесии = сгенерированый_номерок" при конце процедуры: "делете фром врем_тэйбл варе ид_сесии = сгенерированый_номерок"