2.9.11 重複するインデクスキー値を格納する際の実行中トランザクション終了待ち合わせ【4V FMB,SD FMB】
HiRDB/SDは,ルートレコードの格納時に,格納しようとしているレコードのインデクスキー値が,SDBデータベース中にすでに存在しないかどうかをチェックします。
同じインデクスキー値が存在する場合は,ユニークエラーとすることで,追加されるインデクスキー値が一意であることを保証します。
4V FMBおよびSD FMBのSDBデータベースの場合で,2つのトランザクションから同じインデクスキー値を指定してルートレコードを格納する際に,後発のトランザクションを即時ユニークエラーとしないで,先発のトランザクションが終了してからインデクスキー値が一意であるかどうかをチェックしたいときは,システム共通定義のpd_lock_uncommited_delete_dataオペランドにWAITを指定してください。
レコード型の種類 |
システム共通定義 pd_lock_uncommited_delete_dataオペランド |
同じインデクスキー値を指定してレコードを格納する,後発のトランザクション |
---|---|---|
ルートレコード |
NOWAIT |
即時,ユニークエラーでロールバックします。 |
WAIT |
先発のトランザクションが終了した後,ユニークエラーでロールバックします。※ |
|
ルートレコード以外 |
− |
なお,4V AFMのSDBデータベースの場合,システム共通定義のpd_lock_uncommited_delete_dataオペランドの指定値に関係なく,先発のトランザクションの終了を待ち合わせします。