DELETE ステートメント

DELETE ステートメントは、レコードを索引付きファイルまたは相対ファイルから削除します。 索引付きファイルの場合は、レコードを削除した結果生じた未使用キーが、直ちにレコードの追加処理に使用できるようになります。 相対ファイルの場合は、この空間が、同じ RELATIVE KEY 値を持つ新しいレコードに対して使用できるようになります。

DELETE ステートメントの実行時には、関連するファイルが I-O モードでオープンされていなければなりません。

構文図を読む構文図をスキップする
DELETE ステートメント - 形式

>>-DELETE--ファイル名--+--------+------------------------------------>
                       '-RECORD-'   

>--+------------------------------------+--------------------------->
   |        (1)                         |   
   '-FORMAT------+----+--+-ID-1-------+-'   
                 '-IS-'  '-リテラル-1-'     

>--+--------------------------------+--------------------------->
   |              (1)               |   
   '-NULL-KEY-MAP------+----+--ID-2-'   
                       '-IS-'           

>--+----------------------------------------+---------------------------->
   '-INVALID--+-----+--命令ステートメント-1-'   
              '-KEY-'                  

>--+--------------------------------------------+--+------------+-------><
   '-NOT INVALID--+-----+--命令ステートメント-2-'  '-END-DELETE-'   
                  '-KEY-'                                  

注:
  1. IBM® Extension
ファイル名
ファイル名はデータ部の FD 記入項目で定義されていなければならず、また、索引付きファイルまたは相対ファイルの名前が付けられていなければなりません。

DELETE ステートメントの実行が正常に終了すると、レコードはファイルから論理的に削除され、以後そのレコードにアクセスすることはできません。 DELETE ステートメントの実行は、 ファイル名に関連したレコード域の内容 (あるいは、ファイル名 に関連した RECORD 文節の DEPENDING ON 句に指定されたデータ名が参照するデータ項目の内容) には影響しません。

ファイル制御記入項目の中で FILE STATUS 文節が指定されている場合は、 DELETE ステートメントの実行時に、関連する状況キーが更新されます。

ファイル位置標識は、DELETE ステートメントの実行による影響を受けません。