SAP NetWeaver AS ABAP Release 740, ©Copyright 2014 SAP AG. All rights reserved.
ABAP Keyword Documentation → ABAP − Reference → Processing External Data → ABAP Database Accesses → Open SQL → Open SQL - Write Accesses → UPDATE dbtab →
UPDATE dbtab - set_expression
Syntax
... [col1 = f1 col2 = f2 ... ]
[col1 = col1 + f1 col2 = col2 + f2 ...]
[col1 = col1 - f1 col2 = col2 - f2 ...]
[(expr_syntax1) (expr_syntax2) ...] ... .
Extras:
1. ... col =
f
2. ... col = col + f
3. ... col = col - f
4. ... (expr_syntax)
Effect
Change expressions for the addition SET of the statement UPDATE. The individual modifying expressions can be defined in any number of ways.
... col = f
Effect
Assigning a value. For col, columns of the database table given in target or in the specified view dbtab can be specified using a column name comp or dbtab~comp. For f, data objects of the ABAP program or a column name dbtab~comp of another column in the database table can be used.
The statement UPDATE assigns the content of f to the columns col in all the rows defined by the WHERE condition. If the data types are not compatible, they are converted as follows:
In the assignment, the assigned value must fit in the value range of the column. Otherwise the handleable exception CX_SY_OPEN_SQL_DB is raised. This applies in particular for:
If a column is specified for f, changes to this column that are made in the same UPDATE statement are ignored during the assignment.
If a column col appears in multiple change expressions, the last change expression applies.
... col = col + f
Effect
Addition of a value. For col and f, the same applies as for the assignment of a value. However, col must have a numeric data type. The data types DF16_RAW, DF16_SCL, DF34_RAW, and DF34_SCL are not permitted.
The statement UPDATE adds the value of f to the
content of the column col, in all the rows defined by the WHERE condition. Otherwise, the same rules apply as for the assignment of a value.
... col = col - f
Effect
Subtraction of a value. For col and f, the same applies as for the assignment of a value. However, col must have a numeric data type. The data types DF16_RAW, DF16_SCL, DF34_RAW, and DF34_SCL are not permitted.
The statement UPDATE subtracts the value of f
from the content of the column col, in all the rows defined by the WHERE condition. Otherwise, the same rules apply as for the assignment of a value.
... (expr_syntax)
Effect
Dynamic specification of change expressions. A change expression can be specified as a parenthesized data object expr_syntax that, when the statement is executed, either contains the syntax of one or more static change expressions or is initial. The data object expr_syntax can be a character-like data object or a standard table without secondary table keys and with a character-like data object. The syntax in expr_syntax is not case-sensitive, as in ABAP Editor. When an internal table is specified, the syntax can be distributed across multiple rows.
If expr_syntax is initial when the statement is executed, the change expression is ignored.
Security Note
If used wrongly, dynamic programming techniques can present a serious security risk. Any dynamic content that is passed to a program from the outside must be checked thoroughly or escaped before being used in dynamic statements. This can be done using the system class CL_ABAP_DYN_PRG or the predefined function escape. See SQL Injections Using Dynamic Tokens.
Note
If expr_syntax is an internal table with a header line, the table body is evaluated and not the header line.