Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: ROWID question?

RE: ROWID question?

From: Fink, Dan <Dan.Fink_at_mdx.com>
Date: Tue, 22 Oct 2002 09:49:34 -0800
Message-ID: <F001.004F01E5.20021022094934@fatcity.com>


The script you are using will achieve your goal. It's a pretty common one to remove dups.  

ROWIDs will be reused once Oracle reinserts a row into the 'hole'. However, for the duration of the transaction, this will not be the case. Since the transaction could be rolled back, the 'space' cannot be reallocated. Imagine what would happen if there were two rows with the same rowid. Not possible with Oracle's tx architecture (excepting a really nasty bug, of course).  

Dan Fink

-----Original Message-----
Sent: Tuesday, October 22, 2002 8:49 AM
To: Multiple recipients of list ORACLE-L

Hello Gurus

Does Oracle reuse ROWID "numbers", once a delete of a row has been done?

The reason I ask is because, I need to delete duplicate records from a very large table.
However I must keep the newest date in one of the date columns.

If oracle does not reuse the ROWID this would be very simple. Here is my sql:

DELETE FROM tablename a
WHERE ROWID <> (SELECT MAX(ROWID)

                        FROM tablename b 
                        WHERE a.col1 = b.col1 
                        AND a.col2 = b.col2 
                        AND a.col3 = b.col3); 

However if Oracle does reuse ROWID's then I have a serious sql problem :) All the examples I have of deleteing duplicates use the ROWID. If anyone has a suggestion on how else to do this I would be most grateful.

Otherwise answer on my main question would be fine. Many Thanks
Denham Eva


DISCLAIMER This message is for the named person's use only. It may contain confidential, proprietary or legally privileged information. No confidentiality or privilege is waived or lost by any mistransmission. If you receive this message in error, please immediately delete it and all copies of it from your system, destroy any hard copies of it and notify the sender. You must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message if you are not the intended recipient. TFMC, its holding company, and any of its subsidiaries each reserve the right to monitor and manage all e-mail communications through its networks.

Any views expressed in this message are those of the individual sender, except where the message states otherwise and the sender is authorized to state them to be views of any such entity.



This e-mail message has been scanned for Viruses and Content and cleared by MailMarshal - For more information please visit <http://www.marshalsoftware.com> www.marshalsoftware.com


-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Fink, Dan
  INET: Dan.Fink_at_mdx.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Tue Oct 22 2002 - 12:49:34 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US