You should be able to use MERGE statement to do it in a single shot. However, the statement is going to be rather large:

MERGE INTO employee e
USING (
   SELECT 1 as d_id, 'cd234' as staff_no FROM Dual
       UNION ALL
   SELECT 2 as d_id, 'ef345' as staff_no FROM Dual
       UNION ALL
   SELECT 3 as d_id, 'fg456' as staff_no FROM Dual
       UNION ALL
   ... -- More selects go here
   SELECT 200 as d_id, 'za978' as staff_no FROM Dual
) s
ON (e.depno = S.d_id)
WHEN MATCHED THEN UPDATE SET e.staff_no= s.staff_no
Answer from Sergey Kalinichenko on Stack Overflow
🌐
GeeksforGeeks
geeksforgeeks.org › pl/sql › how-to-update-multiple-rows-at-once-using-plsql
How to Update Multiple Rows at Once Using PL/SQL? - GeeksforGeeks
July 23, 2025 - Explanation: Here, the cursor in Oracle fetches each row, and for each row, an UPDATE operation doubles the Marks value. The loop iterates through all records, updating them one by one. The MERGE statement combines the functionality of INSERT, UPDATE, and DELETE operations, making it efficient for updating multiple rows based on conditions.
Discussions

How To update multiple rows at the same time in SQL
Probably not the best idea unless they are both going up by the same amount or the same percentage. There has to be something in common. More on reddit.com
🌐 r/SQL
22
7
June 13, 2021
Update Multiple Rows with Different values. - Oracle Forums
Hi I have to update descrip column in customer table around 1000 values manually, i.e I have to manually get the 1000 values of descrip values from BA's and update in descrip column, we do not have an... More on forums.oracle.com
🌐 forums.oracle.com
April 25, 2020
Update multiple rows using select statement in Oracle - Database Administrators Stack Exchange
Im using this script for updating "gndt_customer_identification" table, value of V_iden_no coming from select statement. How i can update multiple row when select return more then one val... More on dba.stackexchange.com
🌐 dba.stackexchange.com
OraFAQ Forum: SQL & PL/SQL » How to update multiple rows with different values from another table in the same query?
How to update multiple rows with different values from another table in the same query? Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 More on orafaq.com
🌐 orafaq.com
🌐
Oracle
forums.oracle.com › ords › apexds › post › sql-command-for-update-of-multiple-rows-5350
SQL command for UPDATE of multiple rows - Oracle Forums
December 21, 2009 - Hi, how to write SQL command to updating multiple rows in one statement? I tried as follows from TOAD which worked: UPDATE TableA SET a = 'x' WHERE b = 'a'; UPDATE TableA SET a = 'x' WHERE b = 'b; UP...
🌐
Oracle
docs.oracle.com › en › cloud › saas › sales › fastg › update-multiple-records-at-the-same-time.html
Update Multiple Records at the Same Time
February 5, 2026 - You can update multiple fields in multiple records at the same time in Workspace and in individual work areas that use the same Workspace features.
🌐
Oracle
forums.oracle.com › ords › apexds › post › update-multiple-rows-with-different-values-6805
Update Multiple Rows with Different values. - Oracle Forums
April 25, 2020 - Hi I have to update descrip column in customer table around 1000 values manually, i.e I have to manually get the 1000 values of descrip values from BA's and update in descrip column, we do not have an...
🌐
Quora
quora.com › How-do-I-update-multiple-rows-in-Oracle-SQL-with-different-values
How to update multiple rows in Oracle SQL with different values - Quora
Answer (1 of 3): a2a: You can do a case statement in SQL. update test set text = case when (flag='Y') then ('its now yes') when (flag='N') then ('its no now') else ('unknown') end; So you’d hard code the values in the where clauses and this lets you update multiple rows with different values...
Find elsewhere
🌐
Oracle Tutorial
oracletutorial.com › home › oracle basics › oracle update
Oracle UPDATE Statement
May 11, 2025 - If you update more than two columns, you separate each expression column = value by a comma. The value1, value2, or value3 can be literals or a subquery that returns a single value. Note that the UPDATE statement allows you to update as many columns as you want. Third, specify which row to update in the condition of the WHERE clause.
🌐
Oracle FAQ
orafaq.com › forum › t › 208043 › 0
OraFAQ Forum: SQL & PL/SQL » How to update multiple rows with different values from another table in the same query?
A BookId can have multiple SupplierNo and we can use any number I had written something like this · update Library set BOOKSUPPLERNO = (select SupplierNo from BookSupplier where BookNo in (select BookId from Library where BookShelfNo in ('4545','4546','4550'))) It gives me error ORA-01427: single-row subquery returns more than one row Then I tried
Top answer
1 of 2
8

If you just want the discharge_dt to be overwritten with the admit_dt from the same row, it sounds like you just need

UPDATE patient
   SET discharge_dt = admit_dt
 WHERE facility_id = 'X'
   AND pat_seq IN (<<query that returns the 60,000 keys>>)
2 of 2
4

Cloyd, the description is indeed confusing.

I'll state some assumptions and work on them. Please, shall you consider this worth, comment out and I'll keep editing the answer until we get 'there'. Deal?

Let's go:

  • the update statement has as condition facility_id='X'

  • the sub-query at the assignment has no condition at all (except pat_seq)

  • therefore, I'm assuming and 'forecasting' that:

    • pat_seq is key for identification of a patient

    • both admit_dt and discharge_dt are of type date/time, not just date

    • the facility_id column at patient table keeps track of the several facilities within which the patient has been sent during it's (sad?) stay

    • for any patient, for each facility where it's been sent to, there has to be a row keeping track of date/time of admission and discharging, like:

      • pat_seq: 0015, facility_id: AABB, admit_dt: 15:35, discharge_dt:16:45
      • pat_seq: 0015, facility_id: CCA1, admit_dt:16:45, discharge_dt:17:10
      • pat_seq: 0015, facility_id: AAHD, admit_dt:17:10, discharge_dt: NULL
    • just the admitances are registered, hence for any new admitance registered there has to be an update action upon the imediate previous entry for which the discharge time will be assumed as the admitance time within the next facility

    • bullseye?

Well, for this scenario, you shall do, assuming a batch, scheduled task:

UPDATE patient 
SET discharge_dt = (
            /*
                For every entry past this, retrieve the least admit_dt, which shall identify the moment the pat_seq moved into the next facility
            */
            SELECT MIN(admit_dt)
            FROM patient pat_next_admit
            WHERE pat_next_admit.pat_seq  = patient.pat_seq
              AND pat_next_admit.admit_dt > patient.admit_dt
        ) 
WHERE discharge_dt IS NULL /* No need to process rows already processed! */
🌐
Oracle
forums.oracle.com › ords › apexds › post › multiple-columns-and-rows-update-using-select-staement-0681
Multiple columns and rows update using select staement - Oracle Forums
March 25, 2009 - i am trying to update the 2 colums of a table based on the cursor result set with key values are matching. DECLARE CURSOR update_master IS SELECT B.cust_num,c.cust_num, B.cust_name,B.cust_bal FR...
🌐
Oracle
forums.oracle.com › ords › apexds › post › update-multiple-rows-within-same-table-single-rows-query-re-3807
Update multiple rows within same table(single rows query return more then 1 rows) - Oracle Forums
October 24, 2021 - I am facing the below error single rows query return more then 1 rows sql query-- UPDATE INV.SALE_C ASET A.AMOUNT = ( SELECT (NVL(B.RATE,0) * NVL(B.qty,0)) - (NVL(B.DISCOUNT,0) * NVL(B.qty,0)) ...
🌐
TechOnTheNet
techonthenet.com › sql › update.php
SQL: UPDATE Statement
The syntax for the SQL UPDATE statement when updating multiple tables (not permitted in Oracle) is: UPDATE table1, table2, ... SET column1 = expression1, column2 = expression2, ... WHERE table1.column = table2.column [AND conditions]; column1, column2 · The columns that you wish to update.
🌐
Oracle
forums.oracle.com › ords › apexds › post › multiple-row-update-from-subquery-9507
Multiple row update from subquery - Oracle Forums
November 5, 2018 - Hi guys,I've 2 tables, one which data must be update (Table 1) and second table with correct data (Table 2)Table 1 looks like this: IDCOL2AAA1209200BBB2308197CCC1105194AAA1209200EEE0611201Table 2 ...
🌐
Oracle
forums.oracle.com › ords › apexds › post › how-to-update-multiple-rows-of-same-table-after-form-save-1823
How to update multiple rows of same table after form SAVE - Oracle Forums
July 14, 2023 - Hi, I'm pretty new to Apex and cannot find a solution for this challenge: I have an Apex Form with several fields, one of them is named STATUS: VARCHAR2(1) which I am displaying as a switch Y&#x2...
🌐
Oracle
forums.oracle.com › ords › apexds › post › need-to-update-multiple-rows-in-one-table-from-multiple-row-2089
Need to update multiple rows in one table from multiple rows in another - Oracle Forums
February 22, 2013 - I am coming to conclusion that I can't do this because of the lack of a related unique key, but maybe you can help me with a solution. I have tried all of the solutions posted here but they do not wor...
🌐
TechOnTheNet
techonthenet.com › oracle › update.php
Oracle / PLSQL: UPDATE Statement
Let's look at an Oracle UPDATE ... = 32 WHERE customer_id > 100; When you wish to update multiple columns, you can do this by separating the column/value pairs with commas....
🌐
Stack Overflow
stackoverflow.com › questions › 36444905 › oracle-updating-multiple-rows-in-one-query-using-prepared-statement
sql - Oracle, Updating multiple rows in one query, using prepared statement - Stack Overflow
I know that you can insert multiple rows in a query by using INSERT ALL INTO mytable (column1, column2, column_n) VALUES (?,?,?) INTO mytable (column1, column2, column_n) VALUES (?,?,?) INTO