powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / создание коллекции
7 сообщений из 7, страница 1 из 1
создание коллекции
    #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
создание коллекции
    #35572004
senleft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скрин результатов для первого случая:
...
Рейтинг: 0 / 0
создание коллекции
    #35572008
senleft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скрин результатов для 2 случая:
...
Рейтинг: 0 / 0
создание коллекции
    #35573502
senleft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо, разобрался.
...
Рейтинг: 0 / 0
создание коллекции
    #35573507
senleft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
создание коллекции
    #35573508
senleft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
создание коллекции
    #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
7 сообщений из 7, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / создание коллекции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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