以oracle形式12c

时间:2018-11-28 02:22:13

标签: oracle oracle12c oracleforms unlock

这是我第一次在Oracle Forms 12c中使用for update nowait来锁定记录。

我有一个主从细节的Forms块,两个数据块都以表格布局样式显示。允许更新主块。

在查询块后双击主记录时,它将转到详细信息块并触发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;

我不知道在哪里/如何使用回滚。

时,我需要解锁记录
  1. 取消选择主记录;
  2. 退出表格;
  3. 查询记录;

我尝试将rollback放在上面标记的位置,但是失败了,它清除了主块。

请帮助

0 个答案:

没有答案