RE: sql error

  • From: "McPeak, Matt" <vxsmimmcp@xxxxxxxxxx>
  • To: "SUzzell@xxxxxxxxxx" <SUzzell@xxxxxxxxxx>, "'JSweetser@xxxxxxxx'" <JSweetser@xxxxxxxx>, "Brian.Zelli@xxxxxxxxxxxxxxx" <Brian.Zelli@xxxxxxxxxxxxxxx>, "oracle-l (oracle-l@xxxxxxxxxxxxx)" <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 17 Jun 2014 16:09:06 +0000

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.

Other related posts: