这是我第一次在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;
我不知道在哪里/如何使用回滚。
时,我需要解锁记录我尝试将rollback
放在上面标记的位置,但是失败了,它清除了主块。
请帮助