TABLE ACCESS (BY ROWID)

Description

Retrieves rows from a table using ROWIDs. ROWIDs may be supplied directly or by an index.

Versions

This operation was replaced by TABLE ACCESS (BY INDEX ROWID) and TABLE ACCESS (BY USER ROWID) in Oracle 8.0

This operation is implemented in the following versions

7.3.4

Example

Example 1

This is an example of the functionality replaced by TABLE ACCESS (BY INDEX ROWID)

This example was developed using Oracle 7.3.4

This example requires the following table definition

    CREATE TABLE t1 (c1 NUMBER,c2 NUMBER);

    CREATE INDEX i1 ON t1 (c1);

The table does not need to be analysed

The statement

    SELECT c2 FROM t1 WHERE c1 = 0;

generates the following execution plan

0     SELECT STATEMENT Optimizer=CHOOSE
1   0   TABLE ACCESS (BY ROWID) OF 'T1'
2   1     INDEX (RANGE SCAN) OF 'I1' (NON-UNIQUE)
Example 2

This is an example of the functionality replaced by TABLE ACCESS (BY USER ROWID)

This example was developed using Oracle 7.3.4

This example requires the following table definition

    CREATE TABLE t1 (c1 NUMBER);

The table does not need to be analysed

The statement

    SELECT c1 FROM t1
    WHERE ROWID = 
    (
      SELECT MIN (ROWID) FROM t1
    );

generates the following execution plan

0     SELECT STATEMENT Optimizer=CHOOSE
1   0   TABLE ACCESS (BY ROWID) OF 'T1'
2   1     SORT (AGGREGATE)
3   2       TABLE ACCESS (FULL) OF 'T1'