powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Проблема с формой, построенной на VIEW с Instead of триггером
8 сообщений из 33, страница 2 из 2
Проблема с формой, построенной на VIEW с Instead of триггером
    #38931323
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevУ меня у самого руки чешутся использовать instead of для чего-то подобного.
Самое классное во вью с instead of триггером - удобство использования.
Все таблицы один раз соединены в запросе, все нужные поля из соединенных таблиц описаны, данные вставлять при транзакции можно хоть в несколько таблиц.
Был Forms - использовали view в форме. Пришел на смену Apex - сгенерировать форму на Apex на основе такого вью - раз плюнуть.
И Apex не вечен - изменится среда разработки - да пускай, я думаю, что в любой среде не составит труда сделать быстро форму на основе такого вью. Рекомендую, общем)
...
Рейтинг: 0 / 0
Проблема с формой, построенной на VIEW с Instead of триггером
    #38931443
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_FrostЕсли у региона указать идентификатор первичный ключ, а не rowid - проблем не будет. Кроме одной. У Apex'а есть баг. Несмотря на то, что ему сказано идентифицировать строки по первичному ключу, для Validations он использует rowid, а т.к. rowid из такого вью не извлечь - возникает ошибка. Приходится удалять Validations - тогда все прекрасно работает.
А вот про это я забыл. Я сейчас использую instead of только с tabular forms, поэтому этот момент для Automatic Row Processing не проверял, но поэдие ошибка если возникает, наверняка только, если вьюшка сама по себе не обновляемая. (Как и ошибка в топике). Надеюсь исправят, т.к. мешает сильно
...
Рейтинг: 0 / 0
Проблема с формой, построенной на VIEW с Instead of триггером
    #38931474
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_FrostС error handling function есть проблема - как в функции отличать Insert от U или D? Обнулять id нужно только при неудавшемся Insert.
По переменной request. Правда не думаю, что это единственная проблема, просто этот вариант менее очевидный для меня, скорее всего ещё какие-нибудь приколы есть. Тут нужно смотреть отлаженное в рабочей среде решение
...
Рейтинг: 0 / 0
Проблема с формой, построенной на VIEW с Instead of триггером
    #38931508
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки минус instead это все тот же returning. Оракл его не поддерживает у таких вьюх. Еще остается вариант сделать свой процесс роу. Хотя смысла не вижу. Проще после родного сделать новый для селекта currval.
...
Рейтинг: 0 / 0
Проблема с формой, построенной на VIEW с Instead of триггером
    #38931519
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С currval все сработало!
Т.е. цепочка такая - сразу после процесса Automatic Row Processing (DML)
создаем процесс, в котором и заполняем первичный ключ:

Код: plsql
1.
2.
3.
4.
5.
6.
begin 
 if :P1_ID is null then
  select SEQUENCE_NAME.CURRVAL
   into :P1_ID from dual;
 end if;
end;



условие
if :P1_ID is null then
нужно, чтобы currval не читался при Update и Delete.

Еще раз спасибо всем за хорошие идеи!
...
Рейтинг: 0 / 0
Проблема с формой, построенной на VIEW с Instead of триггером
    #38931545
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Frost,

Я бы просто повесил бы на кнопку и все, вдруг другое действие с другим :request придет, но это зависит от приложения уже
...
Рейтинг: 0 / 0
Проблема с формой, построенной на VIEW с Instead of триггером
    #38931556
Mr_Frost
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SvDevMr_Frost,

Я бы просто повесил бы на кнопку и все, вдруг другое действие с другим :request придет, но это зависит от приложения уже
да вроде бы и так достаточно, два процесса друг за другом. Первый сделал insert, вторым тут же читаем currval.
Потестировал, работает, так что пока такое решение приняли как рабочее. Если вдруг всплывут какие гадости - отпишусь.
...
Рейтинг: 0 / 0
Проблема с формой, построенной на VIEW с Instead of триггером
    #38931587
SvDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mr_Frost,

Условие на кнопку не обязательно, если все вспомогательные действия сделаны по уму, через Аякс, а если есть, например, select list with submit вылезут косяки.

Мало ли кто тему читать будет, не у всех все через аякс
...
Рейтинг: 0 / 0
8 сообщений из 33, страница 2 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Проблема с формой, построенной на VIEW с Instead of триггером
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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