powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / запрос
3 сообщений из 3, страница 1 из 1
запрос
    #32135698
KZ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
KZ
Гость
Есть таблица например
create table db.tmp01 (low number, high number)
/

insert into db.tmp01 values(100,200)
/

insert into db.tmp01 values(450,500)
/

Вопрос, как мне теперь select'ом получить (сгенерировать)
след. ряд

100
101
102
...
200
450
451
...
500

т.е. мне нужно получить все числа от 100 до 200 и от 450 до 500

Или не select'ом такое получить не получится.
(тогда надо создавать процедуру и использовать временную таблицу)
...
Рейтинг: 0 / 0
запрос
    #32135769
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напиши pipelined-процедуру для Oracle 9i, или возвращающую объектную таблицу для 8i. В ней будет 2 вложенных цикла, по записям таблицы и перебор чисел в указанных границах. Как писать - примерно так:

http://www.sql.ru/forum/actualtopics.aspx?search=type+table+function+cast&submit=%CD%E0%E9%F2%E8&bid=3
...
Рейтинг: 0 / 0
запрос
    #32135829
Dick Gonsales
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот запрос даст тебе то что нужно.
< таблица > должна иметь достаточное количество записей
Можешь например использовать all_objects
Код: plaintext
1.
2.
3.
  select rnum
  from ide.tmp01,
         (select rownum rnum from <таблица>) r
  where r.rnum<=high and r.rnum>=low 
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]