Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 nested tables + rownum  [new]
oracoll
Member

Откуда:
Сообщений: 3
Есть таблица где одна из колонок является подтаблицей из 1го поля

Нужно выбрать по запросу в массив

1) только 1 значение(определяется rownum) из всех этих подтаблиц от ряда записей(where в родительской таблице + order by)
2) тоже самое но для диапазона значений номера строки(например от 5 до 10)

как правильно приготовить rownum/nested tables?

Подскажите пожалуйста как построить запрос?
6 июн 07, 16:56    [4238233]     Ответить | Цитировать Сообщить модератору
 Re: nested tables + rownum  [new]
oracoll
Member

Откуда:
Сообщений: 3
nobody?:)

поясню что имелось ввиду

create table some_table
(
IDENT NUMBER not null,
VALUE ARR_OF_NUMBER
)
где ARR_OF_NUMBER
есть коллекция/nested table
состоит из 1 колонки, типа number

мой вопрос состоит в том как извлечь одним запросом в массив
допустим значения с VALUE.rownum=14 из записей some_table где например IDENT=5

надеюсь так яснее :)
6 июн 07, 18:35    [4239013]     Ответить | Цитировать Сообщить модератору
 Re: nested tables + rownum  [new]
mcureenab
Member

Откуда: Murmansk
Сообщений: 5928
1)
select
 (select value(v)
  from table(pt.numbers) v
  where rownum <= 1
 ) v
from abm_t2 pt
where pt. ....
/

Вообще, мне не ясен смысл таких экзерстиций. Поскольку записи во вложенной таблице не упорядочены. Скорее имеет смысл создать вложенную таблицу пар (индекс, значение), и искать нужные записи по индексу, а не по rownum.
6 июн 07, 18:44    [4239067]     Ответить | Цитировать Сообщить модератору
 Re: nested tables + rownum  [new]
ГостЪ
Guest
RTFM
Collection unnesting
6 июн 07, 18:49    [4239099]     Ответить | Цитировать Сообщить модератору
 Re: nested tables + rownum  [new]
Elic
Member

Откуда:
Сообщений: 29990
ГостЪ
RTFMCollection unnesting
RTFM порядок строк гарантирует order by и только order by :)
6 июн 07, 18:55    [4239132]     Ответить | Цитировать Сообщить модератору
 Re: nested tables + rownum  [new]
oracoll
Member

Откуда:
Сообщений: 3
спасибо, попробую...

хм, а документация оракля говорит что как такая коллекция загрузилась так и будет храниться
если это так и есть то этого достаточно, ибо порядок элементов в коллекции определяется при ее сохранении в таблицу

т.е. rownum во вложенной колекцци(или что это там вообще такое) это как индекс массива вобщем-то

вобще=же суть сей операции "транспонирование матрицы"

матрица загружается через сохранение колонок, а вытаскивать ее нужно построчно
т.е. пара IDENT,VALUE хранит колонку, а значения VALUE - это значения строк
VALUE(1) - 1я строка и т.д.
6 июн 07, 18:55    [4239135]     Ответить | Цитировать Сообщить модератору
 Re: nested tables + rownum  [new]
mcureenab
Member

Откуда: Murmansk
Сообщений: 5928
oracoll
спасибо, попробую...

хм, а документация оракля говорит что как такая коллекция загрузилась так и будет храниться
если это так и есть то этого достаточно, ибо порядок элементов в коллекции определяется при ее сохранении в таблицу


Порядок элементов в VARRAY сохраняется, поскольку элементы VARRAY физически упорядочены, в TABLE OF - нет, на то она и таблица.
Если делаешь SQL запрос из VARRAY, то результирующий порядок записей может отличаться от исходного.
6 июн 07, 19:17    [4239242]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить