Oracle/Update join

From YavInWiki
Revision as of 09:45, 7 December 2009 by Andy (talk | contribs)
Jump to navigation Jump to search
UPDATE (SELECT b.bonus, e.salary
          FROM employee_bonus b
          JOIN employees e ON b.employee_id = e.employee_id
         WHERE e.bonus_eligible = 1) t
   SET t.bonus = 0.1 * t.salary;

Views and selects with joins may only be updated when each row can be identified by a uique ID, so the join MUST be performed using key columns (in this example emloyee_id)!