Slight optimization (I invite thoughts from the experts who lurk here...): add "ORDER BY UC.ROWID" in the SELECT portion. If the update is very large and the join plan doesn't return rows in ROWID order, then the update hits the same blocks many times, degrading performance (badly, I have found). Matt From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Uzzell, Stephan Sent: Monday, June 16, 2014 3:17 PM To: 'JSweetser@xxxxxxxx'; Brian.Zelli@xxxxxxxxxxxxxxx; oracle-l (oracle-l@xxxxxxxxxxxxx) Cc: Uzzell, Stephan Subject: RE: sql error Assuming roswellrlm is the schema, and u_callannotate and u_c_b are tables, this seems like the perfect place for an update a join: Something like this (not tested as I don't have your schema) might do what you want: update ( select uc.er , ucb.er new_er , uc.pr , ucb.pr new_pr , uc.her2 , ucb.her2 new_her2 from U_COLLANNOTATE uc , u_c_b ucb where uc.collannotateid = ucb.u_caid ) set er = new_er , pr = new_pr , her2 = new_her2 / Stephan Uzzell | Senior Database Administrator | Managed Services |MICROS Systems, Inc. Direct: 443.285.8000x2345 | Mobile: 443.864.1725 | suzzell@xxxxxxxxxx<mailto:suzzell@xxxxxxxxxx> | www.micros.com<blocked::http://www.micros.com> From: oracle-l-bounce@xxxxxxxxxxxxx<mailto:oracle-l-bounce@xxxxxxxxxxxxx> [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Sweetser, Joe Sent: Monday, 16 June, 2014 15:06 To: Brian.Zelli@xxxxxxxxxxxxxxx<mailto:Brian.Zelli@xxxxxxxxxxxxxxx>; oracle-l (oracle-l@xxxxxxxxxxxxx<mailto:oracle-l@xxxxxxxxxxxxx>) Subject: RE: sql error Could it be the period in the table_name? roswellrlm.u_c_b.u_caid roswellrlm.u_c_b_u_caid ? Is rosellrlm a schema? -joe From: oracle-l-bounce@xxxxxxxxxxxxx<mailto:oracle-l-bounce@xxxxxxxxxxxxx> [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Zelli, Brian Sent: Monday, June 16, 2014 12:54 PM To: oracle-l (oracle-l@xxxxxxxxxxxxx<mailto:oracle-l@xxxxxxxxxxxxx>) Subject: sql error update roswellrlm.U_COLLANNOTATE set U_COLLANNOTATE.ER = roswellrlm.u_c_b.ER, U_COLLANNOTATE.PR = roswellrlm.u_c_b.PR, U_COLLANNOTATE.HER2 = roswellrlm.u_c_b.HER2 where u_collannotate.u_collannotateid = roswellrlm.u_c_b.u_caid; I try and run this and I get: ORA-00904: "ROSWELLRLM"."U_CE_B"."U_CAID": invalid identifier What the heck is wrong? At first I thought the name was too long so I shortened it but it is still the same error. Brian This email message may contain legally privileged and/or confidential information. If you are not the intended recipient(s), or the employee or agent responsible for the delivery of this message to the intended recipient(s), you are hereby notified that any disclosure, copying, distribution, or use of this email message is prohibited. If you have received this message in error, please notify the sender immediately by e-mail and delete this email message from your computer. Thank you. Confidentiality Note: This message contains information that may be confidential and/or privileged. If you are not the intended recipient, you should not use, copy, disclose, distribute or take any action based on this message. If you have received this message in error, please advise the sender immediately by reply email and delete this message. Although ICAT, Underwriters at Lloyd's, Syndicate 4242, scans e-mail and attachments for viruses, it does not guarantee that either are virus-free and accepts no liability for any damage sustained as a result of viruses. Thank you.