4D v14.3Locked |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Locked
|
Locked {( aTable )} -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
aTable | テーブル |
![]() |
ロックを検証するレコードが属するテーブル, または 省略時、デフォルトテーブル | |||||
戻り値 | ブール |
![]() |
TRUE: レコードはロックされている FALSE: レコードはロックされていない | |||||
Lockedは、aTableのカレントレコードがロックされているかを調べます。このコマンドを使用してレコードがロックされているかどうかを調べた後、レコードが開放されるまで待機するか、処理をスキップするかの選択をユーザに与える等の適切な処理を行ってください。
LockedがTrueを返す場合、レコードは他のユーザまたはプロセスによりロックされているか、カレントプロセスでスタックされており、レコードを保存することはできません。この場合には、LOAD RECORDコマンドを使用して、LockedがFalseを返すまでレコードのロードを繰り返します。
LockedがFalseを返す場合、レコードはアンロックされています。これはレコードが他のすべてのユーザに対してロックされることを意味します。ローカルユーザまたはカレントプロセスだけがレコードを修正、保存できます。レコードを修正するには、テーブルが読み書き状態でなければなりません。
削除されたレコードをロードしようとすると、LockedはTrueを返し続けます。存在しないレコードをこれ以上待機しないために、LOCKED ATTRIBUTESコマンドを使用します。レコードが削除されている場合、LOCKED ATTRIBUTESコマンドはプロセス引数に-1を返します。
Note: aTableにカレントレコードが存在しない場合、言い換えればRecord numberが-1を返す時、LockedはFalseを返します。
トランザクション処理の実行中、レコードがロックされているかどうかを調べるためにLOAD RECORDとLockedがしばしば使用しされます。レコードがロックされている場合、トランザクション処理をキャンセルするのが一般的です。
プロダクト: 4D
テーマ: レコードロック
番号:
147
初出: < 4D v6
LOAD RECORD
LOCKED ATTRIBUTES
レコードのロック
ランゲージリファレンス ( 4D v12.4)
ランゲージリファレンス ( 4D v11 SQL Release 6)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)