Basic Oracle Concepts and Programming Question:
How To Use Existing Values in UPDATE Statements using Oracle?
Answer:
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 ggl_links SET id = 1000 + id, counts = id*2
WHERE id >= 250;
3 rows updated.
SELECT * FROM ggl_links WHERE id >= 250;
<pre> ID URL NOTES COUNTS CREATED
----- -------------------- ------------ ------- ---------
1250 Retail Sales.com Wrong URL 500 07-MAY-06
1260 Recruiting.com Wrong URL 520 07-MAY-06
1270 Payroll.com Wrong URL 540 07-MAY-06</pre>
This statement increased values in the id column by 1000.
UPDATE ggl_links SET id = 1000 + id, counts = id*2
WHERE id >= 250;
3 rows updated.
SELECT * FROM ggl_links WHERE id >= 250;
<pre> ID URL NOTES COUNTS CREATED
----- -------------------- ------------ ------- ---------
1250 Retail Sales.com Wrong URL 500 07-MAY-06
1260 Recruiting.com Wrong URL 520 07-MAY-06
1270 Payroll.com Wrong URL 540 07-MAY-06</pre>
This statement increased values in the id column by 1000.
Previous Question | Next Question |
How To Update Values on Multiple Rows in Oracle? | How To Use Values from Other Tables in UPDATE Statements using Oracle? |