[Form Builer]Locking Mode and LOCK_RECORD

Locking Mode Property                

Description                    

Specifies when Oracle Forms tries to obtain database locks on rows that correspond to queried records in the form.

The following table describes the allowed settings for the Locking Mode property:

  
  
  
  

Value                           Description

Automatic (default)        Identical to Immediate if the datasource is an Oracle database. For other datasources, OracleForms determines the available locking facilities

                                    and behaves as much like Immediate as possible.默认值:修改记录时Forms会立即锁定数据库记录

Immediate                   Oracle Forms locks the corresponding row as soon as the end user presses a key to enter or edit the value in a text item.

                                   与Automatic一样,一般情况下建议使用Automatic代替Immediate

Delayed                       Oracle Forms locks the row only while it posts the transaction to the database, not while the end user is editing the record.

                                   Oracle Forms prevents the commit action from processing if values of the fields in the block have changed when the user

                                   causes a commit action.在post事务保存时Forms才尝试锁定记录

LOCK_RECORD Built-in       

Description (尝试立即锁定相关的record,而不管lock mode是自动(立即)或是延迟)       

Attempts to lock the row in the database that corresponds to the current record. LOCK_RECORD locks the record immediately, regardless of whether the Locking Mode block property is set to Immediate (the default) or Delayed. When executed from within an On-Lock trigger, LOCK_RECORD initiates default database locking. The following example illustrates this technique.

Syntax          

PROCEDURE LOCK_RECORD;

Built-in Type unrestricted procedure

Enter Query Mode no

Parameters none

LOCK_RECORD Examples       

/*

** Built-in: LOCK_RECORD

** Example: Perform Oracle Forms standard record locking on the

** queried record which has just been deleted or

** updated. Decide whether to use default

** processing or a user exit by consulting a

** global flag setup at startup by the form,

** perhaps based on a parameter.

** Trigger: On-Lock

*/

BEGIN

/*

** Check the global flag we set up at form startup

*/

IF :Global.Non_Oracle_Datasource = 'TRUE' THEN

User_Exit('my_lockrec block=EMP');

/*

** Otherwise, do the right thing.

*/

ELSE Lock_Record;

END IF;

END;

转载于:https://www.cnblogs.com/pompeii2008/p/5412492.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值