UPDATE (既存のレコードの変更)

自由形式構文 UPDATE{(E)} 名前 {データ構造 | %FIELDS(名前{:名前...})}
コード 演算項目 1 演算項目 2 結果フィールド 標識
UPDATE (E) 名前 (ファイルまたはレコード様式) データ構造 _ ER _

UPDATE 命令は、更新ディスク・ファイルまたはサブファイルから処理用に 検索された、最後にロックされたレコードを修正します。 レコードを検索する入力操作から UPDATE 命令までの間に、他の操作を実行し てはいけません。

名前 オペランドは、更新するファイルまたはレコード様式の名前でなければなりません。 外部記述ファイルの場合には、レコード様式名が必要です。レコード様式名は、ファイルから読み取られる最後のレコードの名前でなけれ ばなりません。そうでない場合にはエラーが起こります。 プログラム記述ファイルの場合には、名前 オペランドとしてファイル名が必要です。

データ構造オペランドが指定されている場合、レコードはデータ構造から直接更新されます。 データ構造は、以下の規則に準拠する必要があります。

  1. データ構造 オペランドが指定されている場合、 レコードはデータ構造から直接更新されます。
  2. 名前 がプログラム記述ファイル (ファイル記述仕様 書の 22 桁目の F によって識別される) を参照する場合、 データ構造は宣言されているファイルのレコード長と同じ長さの任意のデータ構造にすることができます。
  3. 名前 が外部記述ファイルまたは外部記述ファイルのレコード様式 を参照する場合、データ構造は EXTNAME(...:*INPUT) または LIKEREC(...:*INPUT) で定義されているデータ構造にする 必要があります。
  4. データ構造の定義方法、およびデータ構造とファイルの間で どのようにデータが転送されるのかについては、ファイル命令を参照してください。

更新するフィールドのリストは %FIELDS を使用して指定できます。 %FIELDS のパラメーターは、更新するフィールド名のリストです。 フィールドの更新の図については、%FIELDS (更新するフィールド)の終わりにある例を参照してください。

UPDATE 例外 (ファイル状況コードが 1000 より大きい) を 処理するために、命令コード拡張 'E' またはエラー標識 ER を指定できますが、 両方を指定することはできません。 エラー処理の詳細については、ファイル例外/エラーを 参照してください。

UPDATE 命令を使用する場合には、次のことに留意してください。

ヌル値を含むヌル値可能フィールドを持つレコードの更新について は データベースのヌル値サポートを参照してください。

詳細については、ファイル命令を参照してください。