Создание коллекции
Есть таблица:
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");
Создаю коллекцию:
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?
Разбиваю коллецию на две:
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 элементов?
|