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

select ASeq.Nextval from ATable where rownum<=N

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

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

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

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

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

Спасибо тебе , добрый человек!
...
Рейтинг: 0 / 0
29.01.2003, 17:03
    #32098344
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle - каков запрос
Да, декартово произведение решает эту проблему, а как же план запроса?
...
Рейтинг: 0 / 0
30.01.2003, 21:45
    #32099152
AndrewsP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle - каков запрос
Можно попробовать pipelined -функцию
...
Рейтинг: 0 / 0
31.01.2003, 01:08
    #32099174
ShgGena
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle - каков запрос
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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle - каков запрос / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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