Use Existing Column Values in SET Clause in Oracle


How To Use Existing Values in UPDATE Statements in Oracle?



If a row matches the WHERE clause in a UPDATE statement, existing values in this row can be used in expressions to provide new values in the SET clause. Existing values are represented by columns in the expressions. The tutorial exercise below shows a good example:

UPDATE fyi_links SET id = 1000 + id, counts = id*2 
  WHERE id >= 250;
3 rows updated.

SELECT * FROM fyi_links WHERE id >= 250;
   ID URL                  NOTES         COUNTS CREATED
----- -------------------- ------------ ------- ---------
 1250 Retail     Wrong URL        500 07-MAY-06
 1260       Wrong URL        520 07-MAY-06
 1270          Wrong URL        540 07-MAY-06

This statement increased values in the id column by 1000.


Understanding SQL DML Statements for Oracle

⇒⇒Oracle Database Tutorials

2016-10-17, 136👍, 0💬