powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Азы Application Express.
4 сообщений из 4, страница 1 из 1
Азы Application Express.
    #34116012
DIvanI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые коллеги!

Вдохновленный, как и многие из вас, бесплатностью Oracle XE, установил сабж и стал осваивать Application Express. С Ораклом знаком не понаслышке, приложения под разные БД писал во множестве, однако ApEx – совсем другое дело, тут просто надо выучить интерфейс и характерные приемы.
С чем успел ознакомиться:
- Oracle® Database Application Express User’s Guide Release 2.2 B28550-01;
- Oracle® Database 2 Day + Application Express Developer’s Guide Release 2.2 B28839-01;
- Oracle Database 10g Express Edition Tutorial, который можно скачать с офсайта.
- Идущий в комплекте с Oracle XE “Get started”.

Однако, это не разрешило всех моих проблем. Пожалуйста, помогите найти в сети более детальную документацию по сабжу. Визарды, конструкторы – это прекрасно, но иногда не мешает вмешаться и ручками.
Также есть пара конкретных проблем, которые никак не могу побороть:
1. Как устроен и работает Process формы? Автоматически создаваемые процессы типа ApplyMRU, AddRows имеют только несколько ничего не решающих настроек, но никакого кода внутри. Как я могу осознанно повлиять на процедуры обновления данных или добавления строк?
2. Как можно изменить метод генерации значений ключевого поля (source for primary and foreign key columns) Tabular Form после ее создания? Например, при создании я выбрал тип ”Existing Sequence”, а затем решил сменить его на Custom PL_SQL function. И как можно изменить тело этой PL_SQL function?
3. Откуда все эти вопросы? Да просто я пытаюсь реализовать связь «многие-ко-многим» через третью таблицу. Т.е. таблица A (A.a_id, A.a_name) связана с B (B.b_id, B.b_name) посредством С (C.c_id, C.a_id, C.b_id).
Первым делом я создаю регион Report, выводящий содержимое A. Затем создаю элемент Hidden P1_A_ID. После этого создаю линк в поле отчета A.a_name на ту же страницу, заполняющий элемент P1_A_ID значениями A.a_id при нажатии на линк. Дальше создаю второй регион на этой же странице – Tabular form с возможностью добавления данных для таблицы C. По желанию можно отфильтровать значения по условию ”Where C.a_id = :P1_A_ID”, чтобы выводить в Tabular form только те данные, которые связаны с выбранным значением А.
Момент, вызвавший затруднение: при создании tabular form я указал два Primary key: C.c_id, заполняемый из excising sequence, и C.a_id, который должен был заполняться из PL_SQL expression вида (return :P1_A_ID;).
Проблема заключается в том, что при добавлении новой записи C.a_id также заполняется из последовательности, причем из той же, что и C.c_id!
Очень прошу, объясните, где я был не прав, а также пролейте свет на вопросы 1 и 2.
...
Рейтинг: 0 / 0
Азы Application Express.
    #34117047
DIvanI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые, подкиньте хотя бы ссылок на литературу по сабжу! Очень надо, пожалуйста!
...
Рейтинг: 0 / 0
Азы Application Express.
    #34117925
Q u a d r o
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DIvanI 1. Как устроен и работает Process формы? Автоматически создаваемые процессы типа ApplyMRU, AddRows имеют только несколько ничего не решающих настроек, но никакого кода внутри. Как я могу осознанно повлиять на процедуры обновления данных или добавления строк?
Процессы делятся на категории, по типу когда их выполнять (On Load, On Submit и тд.). На каждый из них может быть быть наложено условие- в каком случае он должен сработать. При наличии нескольких процессов для выполнения они выполняются по очереди, согласно их sequence. Осознанно влиять - создаёте свои собственные процессы и пишите там всё что угодно.

DIvanI 2. Как можно изменить метод генерации значений ключевого поля (source for primary and foreign key columns) Tabular Form после ее создания? Например, при создании я выбрал тип ”Existing Sequence”, а затем решил сменить его на Custom PL_SQL function. И как можно изменить тело этой PL_SQL function?
Создайте эту функция и укажите там её имя?...

DIvanIУважаемые, подкиньте хотя бы ссылок на литературу по сабжу! Очень надо, пожалуйста!
Вам сюда.
...
Рейтинг: 0 / 0
Азы Application Express.
    #34122988
DIvanI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за помощь!
Проблему я таки поборол, написав свою функцию для генерации ключа. Смутило то, что в результате работы визарда по созданию новой tabular form, не смотря на мои указания, _оба_ ключа таблицы почему-то генерировались из последовательности, указанной для первого ключа. Для второго ключа я указывал функцию, но визард понял меня по-своему :)
Проблема решилась прописыванием руками метода генерации ключа.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Азы Application Express.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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