UPDATE [RECORD ] [IN ] [STATEMENT ] [(r)]
|
UPDATE
|
[RECORD ] [IN ] [STATEMENT ] [(r)]
|
|||||
SET
|
||||||
WITH
|
SAME
[RECORD ]
|
|||||
USING
|
{operand1= operand2}
|
This document covers the following topics:
For an explanation of the symbols used in the syntax diagram, see Syntax Symbols.
Related Statements: 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
|
READLOB
|
RETRY
|
STORE
|
UPDATELOB
Belongs to Function Group: Database Access and Update
The UPDATE
statement is used to update one or more
fields of a record in a database. The record to be updated must have been
previously selected with a FIND
, GET
or READ
statement (or, for Adabas only,
with a STORE
statement).
The use of the UPDATE
statement causes each record
read for processing in the corresponding FIND
or READ
statement to be placed in
exclusive hold.
For further information, see Record Hold Logic (in the Programming Guide).
The UPDATE
statement
must not be entered on the same line as the statement used to select the record to be updated;
cannot be applied to Entire System Server views.
DL/I |
The If a multiple-value field or a periodic group is defined
as variable in length, only the occurrences as specified in the
The DL/I AIX field name cannot be used in an
DL/I sequence fields cannot be updated because of DL/I restrictions. Due to GSAM restrictions, the |
---|---|
VSAM |
VSAM primary keys cannot be updated because of VSAM restrictions. The DL/I AIX field name cannot be used in an
|
SQL |
The Only columns (fields) that have been modified within the program, as well as columns that might have been (but not necessarily actually have been) modified outside the program (for example, as input fields in maps), are updated. On all other platforms, all columns are updated. With most SQL databases, a row that was read with a
|
Operand Definition Table:
Operand | Possible Structure | Possible Formats | Referencing Permitted | Dynamic Definition | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1
|
S | A | A | N | P | I | F | B | D | T | L | no | no | |||||||
operand2
|
C | S | A | A | N | P | I | F | B | D | T | L | yes | no |
Syntax Element Description:
Syntax Element | Description |
---|---|
(r)
|
Statement Reference:
The notation
If no reference is specified, the |
USING SAME
|
USING SAME Clause:
This clause is not permitted if a The layout of the record buffer or format buffer may be
declared using the
If the field to be updated is an array range of a
multiple-value field or periodic group and you use a variable index for this
array range, the latest range will be updated. This means that if the index
variable is modified after the record has been read and before the |
SET/WITH
operand1=operand2
|
SET/WITH Clause:
This clause can be used in reporting mode to specify the fields to be updated and the values to be used. This clause is not permitted if a |
** 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
Equivalent reporting-mode example: UPDEX1R
.