powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Apex Collection
10 сообщений из 10, страница 1 из 1
Apex Collection
    #38311141
VictorSergeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста. А можно ли имея значения item'a, записать его в коллекцию. Если да, то как? Заранее спасибо.
...
Рейтинг: 0 / 0
Apex Collection
    #38313011
Фотография maxandsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VictorSergeev,

APEX_COLLECTION.ADD_MEMBER(
p_collection_name => 'GROCERIES'
p_c001 => 'Grapes',
p_c002 => 'Imported',
p_n001 => 125,
p_d001 => sysdate );


Работа с коллекциями
...
Рейтинг: 0 / 0
Apex Collection
    #38315421
VictorSergeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maxandsoft,

Спасибо огромное))
...
Рейтинг: 0 / 0
Apex Collection
    #38319339
Фотография maxandsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VictorSergeev, а так же есть пакетик APEX_APPLICATION с помощью которого по сабмиту можно получить значения items.
Так как Apex использует коллекции как раз для хранения объектов

вот примерчег

FOR i IN 1.. APEX_APPLICATION.G_F01.COUNT LOOP
htp.p('element '||I||' has a value of '||APEX_APPLICATION.G_F01(i));
END LOOP;


а с помощью пакетика APEX_UTIL можно потом пихать это в табличку

пример

htp.p(APEX_UTIL.TABLE_TO_STRING(APEX_APPLICATION.G_F01));

Вообщем то в доке все есть успехов на нашем не легком поприще. (на самом деле в доках oracle много нет но тсс...)
...
Рейтинг: 0 / 0
Apex Collection
    #38319346
Фотография maxandsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INSERT INTO my_table (my_column) VALUES
APEX_UTIL.TABLE_TO_STRING(APEX_APPLICATION.G_F01)
...
Рейтинг: 0 / 0
Apex Collection
    #38320095
VictorSergeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maxandsoft,

Спасибо)))
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Apex Collection
    #39164718
Шмель Жека
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня тоже по коллекциям вопрос. Не могу значения из коллекции сохранить в таблицу...
Коллекция создаётся таким кодом:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare
   eda_id number;
   eda_name varchar2(255);
   eda_price number;
begin
   if apex_collection.collection_exists('MYTOVAR')=false then
   apex_collection.create_collection('MYTOVAR');
   end if;
for i in1..apex_application.g_f01.count loop
   select EDA_ID, NAME, PRICE into eda_id, eda_name, eda_price from P_EDA where EDA_ID=apex_application.g_f01(i);
   apex_collection.add_member('MYTOVAR', eda_id, eda_name, eda_price);
enb loop;
end;


То есть с помощью чекбокса выбираю нужные товары и нажимаю на кнопочку, к которой привязан вышеприведённый процесс.
В отдельной табличке я вывожу данные из коллекции, чтобы видеть, что коллекция действительно заполняется. Вот запрос:
Код: plsql
1.
2.
3.
select seq_id, c001, c002, c003
from apex_collections
where collection_name='MYTOVAR'


Всё прекрасно выводится. Но как только я пытаюсь повесить на кнопку "оформить" нижеприведённый процесс, получаю следующее сообщение: ORA-06550: line 10, column 13: PL/SQL: ORA-00907: missing right parenthesis
Вот процесс на кнопку "оформить":
Код: plsql
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.
declare
   zakaz_list number;
   summa number;
   col1 number;             /* id товара */
   col2 varchar2(255); /* название товара */
   col3 number;             /* цена товара */
begin
summa:=0;
select (c001, c002, c003) into (col1, col2, col3) from apex_collections where collection_name='MYTOVAR';
   update P_STOL
   set ZAKAZ_ID = :P8_HIDE_ZAKAZ
   where STOL_ID = :P8_HIDE_STOL;
       update P_STOL
       set SVOBODA = 0
       where STOL_ID = :P8_HIDE_STOL;
for i in 1..apex_application.g_f01.count loop
   summa:=summa + col3;
   select "P_ZAKAZ_INFO_SEQ".nextval into zakaz_list from sys.dual;
      insert into P_ZAKAZ_INFO(ZAKAZ_INFO_ID,ZAKAZ_ID,EDA_ID,EDA_NAME,EDA_PRICE)
      VALUES(zakaz_list, :P8_HIDE_ZAKAZ,col1,col2,col3);
end loop;
update P_ZAKAZ
set SUMMA = summa
where ZAKAZ_ID = :P8_HIDE_ZAKAZ;
end;


Так почему же на экран выводится содержимое коллекции, а в таблицу записываться не хочет? И, раз на то пошло, как реализовать запись в таблицу содержимого коллекции?

P.S. все описанные таблицы, item'ы и строки существуют.
apex 4.2.4
молю о помощи)
...
Рейтинг: 0 / 0
Apex Collection
    #39165238
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шмель Жека,
Мало к апексу отношение имеет, у вас логика процедуры явно страдает.

Во первых, ошибку которая оракл выводит, вот на эту строчку.
Код: plsql
1.
select (c001, c002, c003) into (col1, col2, col3) from apex_collections where collection_name='MYTOVAR';



Но даже после того, как вы ее исправите, у вас возникнут еще проблемы.
Сколько строк у вас в коллекции?? А вы что делаете?
...
Рейтинг: 0 / 0
Apex Collection
    #39165293
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аффтар!
- коллекции смотрят в панели отладка - кнопка session - выбрать коллекции. Т.е. убрать всё лишнее из кода.
- стандартный код для получения галок
Код: sql
1.
2.
3.
4.
if APEX_APPLICATION.G_F99999.COUNT > 0 then
  FOR i in 1..APEX_APPLICATION.G_F99999.COUNT
  LOOP
    переменная := APEX_APPLICATION.G_F99999(i);
...
Рейтинг: 0 / 0
Apex Collection
    #39165319
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И вообще, использование коллекции тут лишнее..
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Apex Collection
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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