powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle - каков запрос
8 сообщений из 8, страница 1 из 1
Oracle - каков запрос
    #32098222
Prostak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня уважаемые!
помогите мне сообразить
задача - ВЫБРАТЬ, получить хитрым селктом резалтсет, содержащий ровно N
записей, в одном из столбов каждой из которых было бы значение полученое из некоей sequence

select ASeq.Nextval from ATable where rownum<=N

решает задачу, но только если ATable содержит более чем N записей.
...
Рейтинг: 0 / 0
Oracle - каков запрос
    #32098233
non
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗАМЕНИ НА All_objects
...
Рейтинг: 0 / 0
Oracle - каков запрос
    #32098247
Prostak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
All_objects не бесконечен => N не может быть больше чем записей в All_objects
...
Рейтинг: 0 / 0
Oracle - каков запрос
    #32098263
non
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мой all_objects порядка 32 тысяч

select seq.nextval from all_objects,all_objects.....и так далее Ж)))
where rownum<100
...
Рейтинг: 0 / 0
Oracle - каков запрос
    #32098299
Prostak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OK, уломал :)
у меня правда около 25000

в конце концов можно поинтересоваться
count(*) from All_Objects

и добавить в случае необходимости через запятую, еще разок-другой. :D

Да, про запятую -- это я забыл :)

Спасибо тебе , добрый человек!
...
Рейтинг: 0 / 0
Oracle - каков запрос
    #32098344
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, декартово произведение решает эту проблему, а как же план запроса?
...
Рейтинг: 0 / 0
Oracle - каков запрос
    #32099152
AndrewsP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно попробовать pipelined -функцию
...
Рейтинг: 0 / 0
Oracle - каков запрос
    #32099174
ShgGena
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Odnagdy uge bylo hooroshee resheniy problemy na etom forume.
Avtor Denis Popov.
I tolko podognal ego ideu pod zadachu.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
SQL> CREATE SEQUENCE TEST_OBJ_SEQ
INCREMENT BY  1 
START WITH    1 
MINVALUE      1 
NOCYCLE
ORDER
NOCACHE
/
Sequence created.

SQL> create or replace type tb_numbers as table of number;
/
Type created.

SQL> create or replace
function gen_indexes( p_num number ) return tb_numbers is
 tb tb_numbers := tb_numbers();
 j  pls_integer;
begin
 for j in  1 ..p_num loop
   tb.extend;
   select test_obj_seq.nextval into tb(j) from dual;
 end loop;
 return tb;
end;
/
Function created.

SQL> select * from table(cast(gen_indexes( 10 ) as tb_numbers));
COLUMN_VALUE
 ------------
 
	    2 
	    3 
	    4 
	    5 
	    6 
	    7 
	    8 
	    9 
	   10 
	   11 

 10  rows selected.
SQL> select * from table(cast(gen_indexes( 5 ) as tb_numbers));
COLUMN_VALUE
 ------------
 
	   12 
	   13 
	   14 
	   15 
	   16 
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle - каков запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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