DELETE 文

DELETE 文は、大容量記憶ファイルからレコードを論理的に削除する。DELETE 文は、相対編成または索引編成のファイルに対してのみ指定できる。

一般形式


DELETE Statement

構文規則

  1. 順呼び出し法のファイルを参照する DELETE 文では、INVALID KEY を指定できない。
  2. 順呼び出し法ではない方法で、有効な USE AFTER STANDARD EXCEPTION PROCEDURE を指定してないファイルを参照する DELETE 文では、INVALID KEY を指定する必要がある。

    OSVSVSC2MF この規則は必須ではない。

一般規則

  1. この文の実行時には、対象ファイルを I-O (入出力両用) モードで開いておく。「OPEN 文」トピックを参照。
  2. 順呼び出しモードのファイルの場合、file-name-1 に対して DELETE 文の実行前に最後に行われた入出力文は、正常に実行が完了した READ 文とする。オペレーティング システムは、その READ 文が呼び出したレコードをファイルから論理的に削除する。
  3. 乱呼び出しモードまたは動的呼び出しモードのファイルの場合、オペレーティング システムは、file-name に関連付けられたキー データ項目の内容によって識別されるレコードをファイルから論理的に削除する。相対ファイルの場合、このキー データ項目は相対キーであり、索引ファイルの場合、このキー データ項目は主レコード キーである。キーが指定したレコードがファイルに含まれていない場合は、無効キー条件が発生する。「手続き部」の章の「INVALID KEY 条件」セクションを参照。
  4. DELETE 文の実行が正常に完了すると、対象のレコードはファイルから論理的に削除されて呼び出せなくなる。
  5. DELETE 文を実行することによって、file-name-1 に関連付けられたレコード領域の内容が影響を受けることはない。
  6. DELETE 文を実行することによって、ファイル位置指示子が影響を受けることはない。
  7. DELETE 文を実行すると、file-name に関連付けられている指定された FILE STATUS データ項目 (ある場合) の値が更新される。「手続き部」の章の「入出力状態」のトピックを参照。
  8. DELETE 操作の実行が成功または失敗した後、制御がどのように移されるかは、

    DELETE 文内の

    オプションの INVALID KEY 指定

    ANS85 および NOT INVALID KEY 指定

    の有無に左右される。

    手続き部」の章の「INVALID KEY 条件」トピックを参照。

  9. ANS85 END-DELETE 指定は DELETE 文の有効範囲を区切る(「COBOL 言語の概念」の章の「明示範囲符および暗示範囲符」のセクションを参照)。
  10. MF DELETE 文を使用する場合は、削除対象のレコードを他の実行単位がロックしないようにする。
  11. MF DELETE 文の実行が正常に完了すると、削除対象のレコードに対して実行単位が保持していたレコード ロックが解除される。