powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Использование PL/SQL - коллекций
3 сообщений из 3, страница 1 из 1
Использование PL/SQL - коллекций
    #35876100
Akni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем.

В базе есть такая структура данных (схематически):

Две таблицы связанных между сообой соотношением один-ко-многим (master-detail)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Tbl_main (
Main_id number primary key,
M_field1,
…
M_fieldN);

Tbl_detail(
Detail_id number primary key,
Main_id number foreign key references tbl_main (main_id),
D_field1,
…
D_fieldN);

Пакет, в котором с использованием PL/SQL коллекций реализована процедура вставки данных сразу в обе таблицы:
Код: 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.
Package pkg_job
Is
Type t_main is table of tbl_main%ROWTYPE;
Type t_detail is table of tbl_detail%ROWTYPE;
Procedure add_element(i_main_rec in tbl_main%ROWTYPE,
I_detail_set in t_detail);
…
END;

Package body pkg_job
Is

Procedure add_element (i_main_rec in tbl_main%ROWTYPE,
I_detail_set in t_detail)
Is
New_id tbl_main.main_id%TYPE;
Begin
Insert into tbl_main (main_id, M_field1, …, M_fieldN)
Values (i_main_seq.NEXTVAL, i_main_rec.M_field1, … , i_main_rec.M_fieldN)
Return main_id into new_id;

For indx n i_detail_set.first .. i_detail_set.last
Loop
 Insert into tbl_detail (detail_id, main_id, d_field1, …, d_fieldN)
Values (i_detail_seq.NEXTVAL, new_id, i_detail_set(indx).d_field1, …, i_detail_set(indx).d_fieldN);
End loop;
Commit;
End;
...
End;
Теперь, собственно, вопрос:
Каким образом можно использовать этот механизм из APEX?
Прочитала про коллекции в APEX, посмотрела в нете примеры создания master-detail форм, там везде используются apex_collections. Но они мне кажутся слишком «глобальными», хотелось бы использовать свои имеющиеся структуры и загонять данные из элементов формы в описанные в пакете структуры.

Если вопрос тривиальный, то не кидайте тапками, а толкните в нужном направлении. Опыта с APEX не так много, в нете пока ничего на эту тему не нашла.
...
Рейтинг: 0 / 0
Использование PL/SQL - коллекций
    #35878110
Фотография Ales Protiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свои "пакетные" коллекции использовать не получится. Apex использует пул соединений, т.е. нет никакой гарантии что при каждом следующем вызове ваш запрос пойдет по тому же соединению. А пакетные переменные "привязаны" к соединению.
Коллекции апекс хранятся в таблицах, а apex_collections - это по сути API, которое работает с таблицами.
...
Рейтинг: 0 / 0
Использование PL/SQL - коллекций
    #35884444
Ivandr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ales ProtivСвои "пакетные" коллекции использовать не получится. Apex использует пул соединений, т.е. нет никакой гарантии что при каждом следующем вызове ваш запрос пойдет по тому же соединению. А пакетные переменные "привязаны" к соединению.


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


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