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: ROWID issue between v7 and V8

Re: ROWID issue between v7 and V8

From: John David Birch <john.birch_at_usa.net>
Date: Wed, 2 Jun 1999 14:09:21 +0200
Message-ID: <7j36pu$5mb$1@romeo.dax.net>


Note that the rowid in Oracle 7 and Oracle 8 when returned from a SELECT statement is the same size (in bytes) meaning that applications which read and write the address without analysing or changing it will not have a problem.

The content is however different:
In Oracle 7, the rowid is returned as a fixed length HEXADECIMAL number. ( Digits 0-9, Letters 'A'-'F')
In Oracle 8, the rowid is returned as a fixed length BASE-64 number. ( Digits 0-9, Letters 'A'-'Z', 'a'-'z', and a couple of punctuation characters)

George Zachary <georgez_at_tig.com.au> wrote in message news:374D591C.987D436F_at_tig.com.au...
> Hi,
>
> I upgraded an Oracle database from 7.3.2 to 8.0.5. There are some apps
> using ROWID and what I want
> to double check is that in my particular case there is no need to use
> the DBMS_ROWID package.
> The Migration Manual states that application that do not attemp to
> assemble or disassemble ROIDs manually
> do not need to be changed or recompiled. Applications that attemp to
> manufacture or analyze
> the contents of ROWIDs have to use the DBMS_ROWID package.
>
> In my case, I have seen in a ProC program
>
> EXEC SQL DECLARE CUR_1 CURSOR FOR
> SELECT ROWID,
> AREA| | SERV
> FROM ORDERS;
>
> ...................
> EXEC SQL FETCH CUR_1
> INTO : rowid ..........
>
> and somewhere later an update function containing
>
> EXEC SQL UPDATE ORDERS
> SET AREA =:x
> SERV =y
> WHERE ROWID = :rowid
>
> Because the value of the ROWID is only used in the WHERE clause I assume
> that the code should work
> without any modification. Am I right ?
>
> I also found this in a procedure within a form4.5
>
> select ....
> where...
> and rowid <>nvl(:entry.rowid,0);
>
> and in a block
>
> DEFINE BLOCK
> .....
>
> where rowid in (select cont.rowid from cont ....
>
> Any advice much appreciated,
>
> George
>
Received on Wed Jun 02 1999 - 07:09:21 CDT

Original text of this message

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