Гость
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / создание коллекции / 7 сообщений из 7, страница 1 из 1
02.10.2008, 13:07
    #35571999
senleft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создание коллекции
Создание коллекции

Есть таблица:
Код: 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.
CREATE TABLE "WS"."SOSTAV_ZAJAVKI" 
   (	"ITOGO_IZD" NUMBER( 2 , 0 ) NOT NULL ENABLE, 
	"ITOGO_KVM_IZD" NUMBER( 7 , 2 ) NOT NULL ENABLE, 
	"KOD_ZAJAVKI_PROIZ" NUMBER( 7 , 0 ) NOT NULL ENABLE, 
	"NOM_IZDELJIA" NUMBER( 2 , 0 ) NOT NULL ENABLE, 
	"VISOTA" NUMBER( 5 , 0 ) NOT NULL ENABLE, 
	"SCHIRINA" NUMBER( 5 , 0 ) NOT NULL ENABLE, 
	"KOD_RIS_FAS" NUMBER( 3 , 0 ) NOT NULL ENABLE, 
	"KOD_FREZ" NUMBER( 2 , 0 ), 
	"KOD_IZDEL_ZAJAVKI" NUMBER( 6 , 0 ) NOT NULL ENABLE, 
	"SSILKA_RIS_NESTAND_DET" BLOB, 
	"KOD_ZVET1_RIS" NUMBER( 3 , 0 ) NOT NULL ENABLE, 
	"KOD_ZVET2_RIS" NUMBER( 3 , 0 ), 
	"KOD_ZVET1_FIL" NUMBER( 3 , 0 ), 
	"KOD_ZVET2_FIL" NUMBER( 3 , 0 ), 
	"KOD_VID_FAS" NUMBER( 2 , 0 ), 
	"KOD_VITRIN" NUMBER( 2 , 0 ), 
	"KOD_POKRIT_PLENKI" NUMBER( 2 , 0 ), 
	"KOD_OBRATN_STOR" NUMBER( 3 , 0 ), 
	"KOD_VIBORKA" NUMBER( 2 , 0 ), 
	"ZENA_1KVM" NUMBER( 15 , 2 ), 
	"SUMMA" NUMBER( 15 , 2 ), 
	"KOD_TIP_MDF" NUMBER( 4 , 0 ) NOT NULL ENABLE, 
	"KOD_FIL" NUMBER( 2 , 0 ), 
	"KOD_STAND_NESTAND" NUMBER( 2 , 0 ), 
	"KOD_PRIL" NUMBER( 2 , 0 ), 
	 PRIMARY KEY ("KOD_IZDEL_ZAJAVKI", "KOD_ZAJAVKI_PROIZ");


Создаю коллекцию:
Код: 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.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
/** before header process start**/
DECLARE
c_coll_name CONSTANT VARCHAR2 ( 100 ) := 'ORDER_DET';
c_number_of_rows CONSTANT NUMBER :=  3 ;
BEGIN

if APEX_COLLECTION.COLLECTION_EXISTS (c_coll_name) then
APEX_COLLECTION.DELETE_COLLECTION (c_coll_name);
end if;

apex_collection.create_collection_from_query
(p_collection_name => c_coll_name,
p_query => 'SELECT
KOD_ZAJAVKI_PROIZ,
NOM_IZDELJIA,
KOD_VID_FAS,
VISOTA,
SCHIRINA,
KOD_STAND_NESTAND,
ITOGO_IZD,
KOD_RIS_FAS,
KOD_ZVET1_RIS,
KOD_ZVET2_RIS,
KOD_FREZ,
KOD_TIP_MDF,
KOD_FIL,
KOD_ZVET1_FIL,
KOD_ZVET2_FIL,
KOD_POKRIT_PLENKI,
KOD_VITRIN,
KOD_VIBORKA,
KOD_OBRATN_STOR,
ZENA_1KVM,
ITOGO_KVM_IZD,
SUMMA,
KOD_PRIL
FROM SOSTAV_ZAJAVKI'
);

-- create c_number_of_rows empty rows
FOR i IN  1  .. c_number_of_rows
LOOP
apex_collection.add_member (p_collection_name => c_coll_name,
/** KOD_ZAJAVKI_PROIZ */
p_c001 => :P39_N_ZAJAVKI_PROIZ,
/** NOM_IZDELJIA */
p_c002 => i,
/** KOD_VID_FAS*/
p_c003 =>  3 ,
/** VISOTA */
p_c004 =>  4 ,
/** SCHIRINA*/
p_c005 =>  5 ,
/** KOD_STAND_NESTAND */
p_c006 =>  6 ,
/** ITOGO_IZD*/
p_c007 =>  7 ,
/** KOD_RIS_FAS*/
p_c008 =>  8 ,
/** KOD_ZVET1_RIS*/
p_c009 =>  9 ,
/** KOD_ZVET2_RIS*/
p_c010 =>  10 ,
/** KOD_FREZ*/
p_c011 =>  11 ,
/** KOD_TIP_MDF*/
p_c012 =>  12 ,
/** KOD_FIL*/
p_c013 =>  13 ,
/** KOD_ZVET1_FIL*/
p_c014 =>  14 ,
/** KOD_ZVET2_FIL*/
p_c015 =>  15 ,
/** KOD_POKRIT_PLENKI*/
p_c016 =>  16 ,
/** KOD_VITRIN*/
p_c017 =>  17 ,
/** KOD_VIBORKA*/
p_c018 =>  18 ,
/** KOD_OBRATN_STOR*/
p_c019 =>  19 ,
/** ZENA_1KVM*/
p_c020 =>  20 ,
/** ITOGO_KVM_IZD*/
p_c021 =>  21 ,
/** SUMMA*/
p_c022 =>  22 ,
/** KOD_PRIL*/
p_c023 =>  23 
);
END LOOP;
END;

Результат:
создается коллекция, в которой 16 (17? - не разобрался, что такое CLOB001) элементов.
куда пропали элементы с 17 по 23?


Разбиваю коллецию на две:
Код: 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.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
/** before header process start**/
DECLARE
c_coll_name CONSTANT VARCHAR2 ( 100 ) := 'ORDER_DET_1';
c_coll_name_2 CONSTANT VARCHAR2 ( 100 ) := 'ORDER_DET_2';
c_number_of_rows CONSTANT NUMBER :=  3 ;
BEGIN

if APEX_COLLECTION.COLLECTION_EXISTS (c_coll_name) then
APEX_COLLECTION.DELETE_COLLECTION (c_coll_name);
end if;

apex_collection.create_collection_from_query
(p_collection_name => c_coll_name,
p_query => 'SELECT
KOD_ZAJAVKI_PROIZ,
NOM_IZDELJIA,
KOD_VID_FAS,
VISOTA,
SCHIRINA,
KOD_STAND_NESTAND,
ITOGO_IZD,
KOD_RIS_FAS,
KOD_ZVET1_RIS,
KOD_ZVET2_RIS,
KOD_FREZ,
KOD_TIP_MDF,
KOD_FIL,
KOD_ZVET1_FIL,
KOD_ZVET2_FIL,
KOD_POKRIT_PLENKI
FROM SOSTAV_ZAJAVKI'
);

-- create c_number_of_rows empty rows
FOR i IN  1  .. c_number_of_rows
LOOP
apex_collection.add_member (p_collection_name => c_coll_name,
/** KOD_ZAJAVKI_PROIZ */
p_c001 => :P39_N_ZAJAVKI_PROIZ,
/** NOM_IZDELJIA */
p_c002 => i,
/** KOD_VID_FAS*/
p_c003 =>  3 ,
/** VISOTA */
p_c004 =>  4 ,
/** SCHIRINA*/
p_c005 =>  5 ,
/** KOD_STAND_NESTAND */
p_c006 =>  6 ,
/** ITOGO_IZD*/
p_c007 =>  7 ,
/** KOD_RIS_FAS*/
p_c008 =>  8 ,
/** KOD_ZVET1_RIS*/
p_c009 =>  9 ,
/** KOD_ZVET2_RIS*/
p_c010 =>  10 ,
/** KOD_FREZ*/
p_c011 =>  11 ,
/** KOD_TIP_MDF*/
p_c012 =>  12 ,
/** KOD_FIL*/
p_c013 =>  13 ,
/** KOD_ZVET1_FIL*/
p_c014 =>  14 ,
/** KOD_ZVET2_FIL*/
p_c015 =>  15 ,
/** KOD_POKRIT_PLENKI*/
p_c016 =>  16 
);
END LOOP;

if APEX_COLLECTION.COLLECTION_EXISTS (c_coll_name_2) then
APEX_COLLECTION.DELETE_COLLECTION (c_coll_name_2);
end if;

apex_collection.create_collection_from_query
(p_collection_name => c_coll_name_2,
p_query => 'SELECT
KOD_VITRIN,
KOD_VIBORKA,
KOD_OBRATN_STOR,
ZENA_1KVM,
ITOGO_KVM_IZD,
SUMMA,
KOD_PRIL
FROM SOSTAV_ZAJAVKI'
);

-- create c_number_of_rows empty rows
FOR i IN  1  .. c_number_of_rows
LOOP
apex_collection.add_member (p_collection_name => c_coll_name_2,
/** KOD_VITRIN*/
p_c001 =>  17 ,
/** KOD_VIBORKA*/
p_c002 =>  18 ,
/** KOD_OBRATN_STOR*/
p_c003 =>  19 ,
/** ZENA_1KVM*/
p_c004 =>  20 ,
/** ITOGO_KVM_IZD*/
p_c005 =>  21 ,
/** SUMMA*/
p_c006 =>  22 ,
/** KOD_PRIL*/
p_c007 =>  23 
);
END LOOP;

END;
Результат - 2 коллекции, в которой 16 и 7 элементов.

Почему в первом случае мне не удается создать коллекцию из 23 элементов?
...
Рейтинг: 0 / 0
02.10.2008, 13:07
    #35572004
senleft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создание коллекции
скрин результатов для первого случая:
...
Рейтинг: 0 / 0
02.10.2008, 13:08
    #35572008
senleft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создание коллекции
скрин результатов для 2 случая:
...
Рейтинг: 0 / 0
02.10.2008, 21:45
    #35573502
senleft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создание коллекции
Всем спасибо, разобрался.
...
Рейтинг: 0 / 0
02.10.2008, 21:49
    #35573507
senleft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создание коллекции
...
Рейтинг: 0 / 0
02.10.2008, 21:49
    #35573508
senleft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создание коллекции
...
Рейтинг: 0 / 0
02.10.2008, 21:54
    #35573513
senleft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
создание коллекции
Последний скрин результат запроса

Код: plaintext
1.
2.
SELECT c001, c002, c003, c004, c005, c006, c007, c008, c009, c010, c011, c012, c013, c014, c015, c016, c017, c018, c019, c020, c021, c022, c023 
   FROM APEX_collections
 WHERE collection_name = 'ORDER_DET'

Предпоследний - просмотр данных сессии - выводятся только первые 16 элементов коллекции (всего может быть 50)
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / создание коллекции / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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