DELETE (レコードの削除)
自由形式構文 | DELETE{(EHMR) } {検索引数 } 名前 |
コード | 演算項目 1 | 演算項目 2 | 結果フィールド | 標識 | ||
---|---|---|---|---|---|---|
DELETE (E) | 検索引数 | 名前 (ファイルまたはレコード様式) | NR | ER | _ |
DELETE 命令は、データベース・ファイルからレコードを削除します。 ファイルは、 削除可能ファイル (自由形式定義の USAGE キーワードに指定される *UPDATE または *DELETE で 示されるか、または、固定形式ファイル記述仕様書の 17 桁目の U で示されます) でなければなりません。 削除されたレコードは復元できません。
検索引数 (検索引数) が指定されていない場合、DELETE 命令は 現在のレコード (最後に検索されたレコード) を削除します。 レコードは前の入力命令 (例えば、CHAIN または READ) によってロックされ ていなければなりません。
検索引数 (検索引数) は、削除するレコードの検索に使用するキーまたは相対レコード番号でなければなりません。アクセスがキー による場合には、検索引数 はフィールド名、名前の付いた定数、形象定数、またはリテラル形式の単一キーにすることができます。
ファイルが外部記述ファイルの場合、検索引数 は KLIST 名、値のリスト、または %KDS の形式の複合キーにすることもできます。図形および UCS-2 のキー・フィールド には、そのファイル内のキーと同じ CCSID がなければなりません。 %KDS の例については、%KDS (データ構造の検索引数)の終わりにある例を参照してください。 アクセスが相対レコード番号による場合には、検索引数 に整数のリテラルまたは小数点以下の桁数がゼロの数値フィールドを入れなければなりません。 削除するレコードの検索に値のリストを使用する例については、図 2 を参照してください。
名前オペランドは、更新ファイル名またはレコードを削除するファイルのレコード様式名でなければなりません。レコード様式名を使用で きるのは、外部記述ファイルの場合だけです。 検索引数が指定されていない場合には、レコード様式名はそのファイルから最後に読み取っ たレコードの名前でなければならず、そうでない場合にはエラーが起こります。
検索引数が指定される場合、71 桁目と 72 桁目には、ファイルに削除する レコードが見付からない場合にオンに設定される標識を入れなければなりません。検索引数 が指定されない場合は、これらの桁はブランクのままにしておきます。この情報は %FOUND 組み込み関数 からも入手することができます。この関数は、レコードが見付からない場合は '0' を 戻し、レコードが見付かった場合は '1' を戻します。
DELETE 例外 (ファイル状況コードが 1000 より大きい) を 処理するために、命令コード拡張 'E' またはエラー標識 ER を指定できますが、 両方を指定することはできません。 エラー処理の詳細については、ファイル例外/エラーを 参照してください。
IBM® i オペレーティング・システムでは、ファイル名 に指定されたファイルの DELETE 命令が正常に完了した後でそのファイルに対する読み取り操作が実行されると、削除されたレコードの次のレコードが取得されます。
ヌル値可能フィールドおよびキーを持つレコードの処理については、データベースのヌル値サポートを参照してください。
詳細については、ファイル命令を参照してください。
- 命令コード拡張 H、M、および R は、検索引数がリストまたは %KDS() である場合にのみ使用できます。
- 75 桁目と 76 桁目はブランクのままにしてください。