Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Primary Key
Message
From
06/06/2003 08:32:11
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Title:
Miscellaneous
Thread ID:
00797053
Message ID:
00797162
Views:
29
With this info it looks like not a persistent value like IDENTITYCOL, ROWGUIDCOL in SQL server and Autoinc field in VFP8. Hope misinterpreting.
(I believe there should be something similar in Oracle)
OK then why not create a GUID on VFP side and submit as a key value. Those keys would be universally unique.
Cetin

>Have a look on some information w.r.t ROWID
>
>
>
>****************
>ROWID Data Type
>****************
>
>ROWID is a pseudo-column that can be queried along with other columns in a table. It
>has the following characteristics:
>• ROWID is a unique identifier for each row in the database.
>• ROWID is not stored explicitly as a column value.
>• Although the ROWID does not directly give the physical address of a row, it can
>be used to locate the row.
>• ROWID provides the fastest means of accessing a row in a table.
>• ROWIDs are stored in indexes to specify rows with a given set of key values.
>With release 8.1, the Oracle server provides a new single data type called the universal
>rowid, or UROWID. It supports rowids of foreign tables (tables other than Oracle’s)
>and can store all kinds of rowids. The value of the parameter COMPATIBLE must be
>set to 8.1 or higher to use UROWID.
>
>
>****************
>ROWID Format
>****************
>ROWID needs 10 bytes of storage on disk and is displayed using 18 characters. It
>consists of the following components:
>• Data object number is assigned to each data object, such as a table or index, when
>it is created, and it is unique within the database.
>• Relative file number is unique to each file within a tablespace.
>• Block number represents the position of the block containing the row within the
>file.
>• Row number identifies the position of the row directory slot in the block header.
>Internally, the data object number needs 32 bits, the relative file number needs 10 bits,
>the block number needs 22 bits, and the row number needs 16 bits, adding up to a total
>of 80 bits or 10 bytes.
>ROWID is displayed using a base-64 encoding scheme, which uses six positions for
>the data object number, three positions for the relative file number, six positions for the
>block number, and three positions for the row number. The base-64 encoding scheme
>uses the characters “A-Z,” “a-z,” “0-9,” “+,” and “/”—a total of 64 characters, as in the
>example below:
>SQL> SELECT id, ROWID FROM summit.department;
>ID ROWID
>--------- ------------------
>10 AAADC4AACAAAAMAAAA
>31 AAADC4AACAAAAMAAAB
>32 AAADC4AACAAAAMAAAC
>33 AAADC4AACAAAAMAAAD
>34 AAADC4AACAAAAMAAAE
>35 AAADC4AACAAAAMAAAF
>41 AAADC4AACAAAAMAAAG
>42 AAADC4AACAAAAMAAAH
>43 AAADC4AACAAAAMAAAI
>44 AAADC4AACAAAAMAAAJ
>45 AAADC4AACAAAAMAAAK
>50 AAADC4AACAAAAMAAAL
>In this example:
>• AAADC4 is the data object number.
>• AAC is the relative file number.
>• AAAAMA is the block number.
>• AAA is the row number for the department with ID=10.
>
>****************
>Locating a Row Using ROWID
>****************
>
>Because a segment can only reside in one tablespace, using the data object number, the
>Oracle server can determine the tablespace that contains a row.
>The relative file number within the tablespace is used to locate the file, the block
>number is used to locate the block containing the row, and the row number is used to
>locate the row directory entry for the row.
>The row directory entry can be used to locate the beginning of the row.
>Thus, ROWID can be used to locate any row within a database.
>
>****************
>Using Restricted ROWID in Oracle7 and Earlier
>****************
>
>Versions of Oracle prior to the Oracle8 server used the restricted ROWID format. A
>restricted ROWID used only six bytes internally and did not contain the data object
>number. This format was acceptable in Oracle7 or an earlier release because the file
>numbers were unique within a database. Thus, earlier releases did not permit more
>than 1,022 data files.
>Even though Oracle8 removed this restriction by using tablespace-relative file
>numbers, the restricted ROWID is still used in objects like nonpartitioned indexes on
>nonpartitioned tables where all the index entries refer to rows within the same
>segment.
>
>Restricted ROWID
>• Can identify rows within a segment
>• Needs less space
>BBBBBBBB FFFF RRRR
>Block number Row number File number
>. .
>
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Reply
Map
View

Click here to load this message in the networking platform