Пользовательский запрос, который возвращает к выводу блока данных в Oracle Forms Builder? - PullRequest
1 голос
/ 19 декабря 2010

У меня есть эти таблицы

КНИГИ

ID | GENREID(number) | COUNTRYID(number) |

ЖАНРЫ

ID | TITLE

1009 * ГОСУДАРСТВА *

ID | TITLE

В моей форме КНИГИ мне нужно отобразить:

ID GENERES.TITLE COUNTRIES.TITLE

Все, что мне нужно, это СОЕДИНИТЬ таблицы или ВЫБРАТЬ данные из всех таблиц и отобразить их. Кажется, что это невозможно с дизайнером форм Oracle. Мои выходные данные блока данных отображают данные из таблицы BOOKS со вставленными идентификаторами, но не с заголовками, соответствующими этим идентификаторам из отдельных таблиц (например, GENRES, СТРАНЫ). Я не могу найти, куда поместить пользовательский запрос в блок данных.

Я пользуюсь последней домашней версией Oracle. Как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 20 декабря 2010

http://sheikyerbouti.developpez.com/from_clause/from_clause.htm

-> Читать шаг 3

Я часто этим пользуюсь. При этом вы можете создавать свои собственные запросы к формам, а также получать блок, который вы можете вставить / обновить / удалить (конечно, в одну таблицу). И вот как я, например, делаю блок, который имеет такие же поля, как идентификатор пользователя и имя пользователя.

Но, по крайней мере, в моей версии Forms невозможно изменить запрос во время выполнения, поскольку он возвращает data_source_type обратно к значению по умолчанию.

2 голосов
/ 19 декабря 2010

Есть два распространенных способа сделать это:

  • Используйте триггер пост-запроса для заполнения полей отображения не в базе данных и LOV, чтобы они могли вставлять и обновлять эти поля.

  • Создайте представление в базе данных и основывайте свой блок на этом.

Первый из них самый простой, но они не смогут выполнять поиск в тех полях, не относящихся к базе данных, без особой дополнительной работы.

Второй вариант позволяет выполнять поиск, но при добавлении и обновлении данных в представлении возникают некоторые проблемы. Я обычно использую триггеры при вставке, при обновлении, при удалении и при блокировке, чтобы обрабатывать эти функции вручную и изменять базовые таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...