UPDATE [RECORD ] [IN ] [STATEMENT ] [(r)]
|
UPDATE |
[RECORD ] [IN ] [STATEMENT ] [(r)]
|
|||||
SET |
||||||
WITH |
SAME [RECORD ]
|
|||||
USING |
{operand1= operand2} |
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連ステートメント:ACCEPT/REJECT
| AT BREAK
| AT START OF DATA
| AT END OF DATA
| BACKOUT TRANSACTION
| BEFORE BREAK PROCESSING
| DELETE
| END TRANSACTION
| FIND
| GET
| GET SAME
| GET TRANSACTION DATA
| HISTOGRAM
| LIMIT
| PASSW
| PERFORM BREAK PROCESSING
| READ
| RETRY
| STORE
関連機能グループ:データベースへのアクセスと更新
UPDATE
ステートメントは、データベースレコードの 1 つ以上のフィールドを更新するために使用します。更新するレコードは、FIND
、GET
、READ
(または Adabas の場合は STORE
)ステートメントで事前に選択されている必要があります。
UPDATE
ステートメントの使用により、対応する FIND
や READ
ステートメントで選択された各レコードは排他的ホールドの状態になります。
詳細については、「レコードホールドロジック」(『プログラミングガイド』)を参照してください。
UPDATE
ステートメント
を、更新するレコードを選択するステートメントと同一行に入力しないでください。
は Entire System Server ビューには適用できません。
SQL |
ほとんどの SQL データベースで、 |
---|---|
XML |
XML データベースでは UPDATE ステートメントを使用できません。 |
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 |
S | A | A | N | P | I | F | B | D | T | L | × | × | |||||||
operand2 |
C | S | A | A | N | P | I | F | B | D | T | L | ○ | × |
構文要素の説明:
構文要素 | 説明 |
---|---|
(r) |
ステートメント参照:
表記 参照指定がなければ、 |
USING
SAME |
USING SAME 節:
この節は、 レコードバッファまたはフォーマットバッファのレイアウトは、
更新するフィールドがマルチプルバリューフィールドやピリオディックグループの配列範囲で、この配列範囲に変数インデックスを使用する場合、最新の範囲が更新されます。つまり、レコードが読み込まれた後で、かつ |
SET/WITH
operand1=operand2 |
SET/HOLD 節:
この節は、レポーティングモードで更新するフィールドと値を指定するために使用します。 この節は、 |
** Example 'UPDEX1S': UPDATE (structured mode) ** ** CAUTION: Executing this example will modify the database records! ************************************************************************ DEFINE DATA LOCAL 1 EMPLOY-VIEW VIEW OF EMPLOYEES 2 NAME 2 FIRST-NAME 2 CITY * 1 #NAME (A20) END-DEFINE * INPUT 'ENTER A NAME:' #NAME (AD=M) IF #NAME = ' ' STOP END-IF * FIND EMPLOY-VIEW WITH NAME = #NAME IF NO RECORDS FOUND REINPUT WITH 'NO RECORDS FOUND' MARK 1 END-NOREC INPUT 'NAME: ' NAME (AD=O) / 'FIRST NAME:' FIRST-NAME (AD=M) / 'CITY: ' CITY (AD=M) UPDATE END TRANSACTION END-FIND * END
ENTER A NAME: BROWN
NAME: BROWN FIRST NAME: KENNETH CITY: DERBY
レポーティングモードの例については、次のプログラムを参照してください:UPDEX1R
。