DELETE(削除)文

DELETE(削除)文は大記憶ファイルからレコードを論理的に削除する。DELETE文は相対編成または索引編成のファイルに対してだけ適用できる。

一般形式

構文規則

  1. 順呼出し法のファイルを対象にしたDELETE文に、INVALID KEYは指定できない。.

  2. USE AFTER STANDARD EXCEPTION PROCEDUREを指定してない場合、順呼出し法ではないファイルを対象にしたDELETE文には、INVALID KEYを指定する。

    この規則は強制しない。

一般規則

  1. DELETE文を実行する際には、対象とするファイルは入出力両用モードで開いておく。(手続き部  MERGE  OPENの章のOPEN(開く)文節を参照。)

  2. 順呼出しモードのファイルの場合、ファイル名-1に関してDELETE文の前に最後に行われた入出力文は、正常に終了したREAD文とする。オペレーティングシステムはそのREAD文によって呼び出されたレコードを、ファイルから論理的に削除する。

  3. 乱呼出しモードまたは動的呼出しモードのファイルの場合、オペレーティングシステムは、該当するファイルのキー・データ項目の内容によって識別されるレコードをファイルから論理的に削除する。相対ファイルの場合、このキー・データ項目はRELATIVE KEYであり、索引ファイルの場合、このキー・データ項目は RECORD KEYである。キーによって指定されたレコードがファイル中に存在しないと、無効キー条件が発生する。(手続き部の章の無効キー条件節を参照。)

  4. DELETE文の実行が正常に終了すると、該当するレコードはファイルから論理的に削除され、呼び出すことはできなくなる。

  5. DELETE文を実行することによって、ファイル名-1のレコード領域の内容が影響を受けることはない。

  6. DELETE文を実行することによって、ファイル位置指示子が影響を受けることはない。

  7. 該当ファイルにFILE データ項目を指定してあると、DELETE文を実行したときにその内容が更新される。(手続き部の章の入出力状態節を参照。)

  8. DELETE文処理が正常または不成功に終わった後、どこに制御が移されるかは、DELETE文中にINVALID KEY指定、

    およびNOT INVALID KEY指定

    を指定したか否かに左右される。(手続き部の章の無効キー条件節を参照。)

  9. END-DELETE指定はDELETE文の有効範囲を区切る。(COBOL言語の概念の章の明示範囲符と暗黙範囲符節を参照。)

  10. DELETE文を実行する際に、対象レコードが他の実行単位によってロックされていてはならない。

  11. DELETE文の実行が正常に終了すると、その実行単位によってロックされていたレコードのロックは解除される。