 |
|
Oracle Database Tips by Donald Burleson |
The Concept of Restricted
ROWIDs
Oracle used the concept of the restricted
rowid in Oracle7 and earlier releases to uniquely identify each row
in each table in the database. This was represented as the
pseudocolumn rowid in Oracle7 and earlier releases. Hence, unknown
to many DBAs and developers, even nonunique identified tables that
violated Third Normal Form always had a unique identifier that could
be used for removal of duplicates and other
unique-identifier-required operations: the rowid column. Of course,
views don't have rowids.
Note
In Oracle8, Oracle8i, and Oracle9i, the
concept of rowid is still with us, but the format has been expanded.
In Appendix I, on the Wiley Web site, I discuss the DBMS_ROWID set
of Oracle-provided packages that provide for rowid manipulation
between the old and new formats, and thepiece out as well as the
building of rowids.
But what does a rowid contain? To begin to
answer that question, in this chapter we will examine the Oracle7
rowid concepts; in the next chapter, we will cover the expanded
rowid (Oracle8, Oracle8i, and Oracle9i types, tables, and such).
Though Oracle8i did not add to the concept of rowid, it added some
datatypes that deal with rowids; Oracle9i did not add much to the
usage of rowids.
Restricted rowid Format
The restricted rowid in Oracle is a VARCHAR2
representation of a binary value shown in hexadecimal format. You
should only need to deal with restricted rowids in versions prior to
Oracle8 or in systems that were upgraded from Oracle7 to Oracle8,
8i, or 9i. Restricted rowids are displayed as:
See Code Depot

www.dba-oracle.com/oracle_scripts.htm |