Разблокировать отмененную запись запроса в форме оракула 12c - PullRequest
0 голосов
/ 28 ноября 2018

Я впервые использую for update nowait в Oracle Forms 12c для блокировки записи.

У меня есть блоки форм Master-detail, оба блока данных отображаются в виде табличного макета.Главный блок может обновляться.

Если дважды щелкнуть основную запись после блока запроса, он перейдет к блоку сведений и выстрелит execute_query.

Мне нужно заблокировать основную запись вручную при двойном щелчке по ней.

В триггер блока данных при двойном щелчке я поставил следующее:

  declare

      t_dummy varchar2(10);

  begin

    --rollback;

    Select 'y'
      into t_dummy
      from table
     where voucherno=:master.voucherno
     for update nowait;

    go_block('detail');
    execute_query;

  exception
    when others then
      message('Fail to lock record. Other user is locking it.');
      raise form_trigger_failure;

  end;

Iпонятия не имею, где / как использовать откат.Мне нужно разблокировать запись, когда

  1. отмените выбор основной записи;
  2. форма выхода;
  3. запрос записи;

Я пытаюсь поставить rollback, как отмечено выше, но не удалось, он очистил мастер-блок.

Пожалуйста, помогите

...