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。