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

Home -> Community -> Usenet -> c.d.o.misc -> Re: When does ROWID change ?

Re: When does ROWID change ?

From: Thomas Kyte <tkyte_at_us.oracle.com>
Date: Mon, 13 Dec 1999 11:19:18 -0500
Message-ID: <s96a5ssjrcfps1vgbg9505f78kr63tq9ue@4ax.com>


A copy of this was sent to QuestionExchange <USENET_at_questionexchange.com> (if that email address didn't require changing) On 13 Dec 1999 15:41:52 GMT, you wrote:

>The rowid basically indicates the physical location of the row
>on disk. One would think that it would be relatively safe to
>use this as a key, but Oracle can, in some conditions, move
>things around without you knowing it. For example, if your row
>grows in size (i.e. due to a varchar increase in size), Oracle
>can move the row to someplace else.

but that'll not change the rowid. A migrated or chained row does not cause a rowid to change.

>To sum up, the rowid is only good within a query or PL/SQL, and
>should never be stored as a foreign key to another table.

The only times a rowid will change (and they are all Oracle8i release 8.1 specific) that I am aware of are:

A rowid is good within a transaction or, very commonly, from page to page in a HTML application (cross transactions but short life span none the less).

--
See http://osi.oracle.com/~tkyte/ for my columns 'Digging-in to Oracle8i'... Current article is "Part I of V, Autonomous Transactions" updated June 21'st  

Thomas Kyte                   tkyte_at_us.oracle.com
Oracle Service Industries     Reston, VA   USA

Opinions are mine and do not necessarily reflect those of Oracle Corporation Received on Mon Dec 13 1999 - 10:19:18 CST

Original text of this message

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