Interview Preparation mode beta
Funny Facebook Status Funny Facebook Status
Enter your email address

What Happens If the UPDATE Subquery Returns Multiple Rows?

Nice?Vote!

1 Answer

Nice?Vote!
If a subquery is used in a UPDATE statement, it must return exactly one row for each row in the update table that matches the WHERE clause. If it returns multiple rows, Oracle server will give you an error message. To test this out, you can try the following tutorial exercise:

UPDATE temp_links SET (notes, created) =
  (SELECT last_name, hire_date FROM employees
    WHERE employee_id < id)
  WHERE id < 110;
ERROR at line 1:
ORA-01427: single-row subquery returns more than one row

The problem is the criteria in the subquery: "employee_id < id"
answered 1 year ago by siva (10,720 points) edited 1 year ago by R

Related questions