Home >> FAQs/Tutorials >> Oracle Tutorials

Oracle Tutorials - Use Values from Other Tables in UPDATE

By: FYIcenter.com

(Continued from previous topic...)

How To Use Values from Other Tables in UPDATE Statements?

If you want to update values in one with values from another table, you can use a subquery in the SET clause. The subquery should return only one row for each row in the update table that matches the WHERE clause. The tutorial exercise below shows a good example:

UPDATE fyi_links SET (notes, created) = 
  (SELECT last_name, hire_date FROM employees
    WHERE employee_id = id)
  WHERE id < 110;
3 rows updated.

SELECT * FROM fyi_links WHERE id < 110;
  ID URL                      NOTES      COUNTS CREATED
---- ------------------------ --------- ------- ---------
 101 http://dev.fyicenter.com Kochhar       999 21-SEP-89
 102 http://dba.fyicenter.com De Haan         0 13-JAN-93
 103 http://sqa.fyicenter.com Hunold    NULL    03-JAN-90

This statement updated 3 rows with values from the employees table.

(Continued on next topic...)

  1. What Are DML Statements?
  2. How To Create a Testing Table?
  3. How To Set Up SQL*Plus Output Format?
  4. How To Insert a New Row into a Table?
  5. How To Specify Default Values in INSERT Statement?
  6. How To Omit Columns with Default Values in INSERT Statement?
  7. How To Insert Multiple Rows with One INSERT Statement?
  8. How To Update Values in a Table?
  9. How To Update Values on Multiple Rows?
  10. How To Use Existing Values in UPDATE Statements?
  11. How To Use Values from Other Tables in UPDATE Statements?
  12. What Happens If the UPDATE Subquery Returns Multiple Rows?
  13. How To Delete an Existing Row from a Table?
  14. How To Delete Multiple Rows from a Table?
  15. How To Delete All Rows from a Table?

Oracle Tutorials:


Other Tutorials/FAQs:


Related Resources:


Selected Jobs: