0
点赞
收藏
分享

微信扫一扫

摘录:官方文档对ROWID虚拟行的定义

ROWID Pseudocolumn

For each row in the database, the ​​ROWID​​ pseudocolumn returns the address of the row. Oracle Database rowid values contain information necessary to locate a row:

  • The data object number of the object
  • The data block in the datafile in which the row resides
  • The position of the row in the data block (first row is 0)
  • The datafile in which the row resides (first file is 1). The file number is relative to the tablespace.

Usually, a rowid value uniquely identifies a row in the database. However, rows in different tables that are stored together in the same cluster can have the same rowid.

Values of the ​​ROWID​​​ pseudocolumn have the datatype ​​ROWID​​​ or ​​UROWID​​​. Please refer to ​​"ROWID Datatype"​​​ and ​​"UROWID Datatype"​​ for more information.

Rowid values have several important uses:

  • They are the fastest way to access a single row.
  • They can show you how the rows in a table are stored.
  • They are unique identifiers for rows in a table.

You should not use ​​ROWID​​ as the primary key of a table. If you delete and reinsert a row with the Import and Export utilities, for example, then its rowid may change. If you delete a row, then Oracle may reassign its rowid to a new row inserted later.

Although you can use the ​​ROWID​​​ pseudocolumn in the ​​SELECT​​​ and ​​WHERE​​​ clause of a query, these pseudocolumn values are not actually stored in the database. You cannot insert, update, or delete a value of the ​​ROWID​​ pseudocolumn.

Example This statement selects the address of all rows that contain data for employees in department 20:

SELECT ROWID, last_name  
FROM employees
WHERE department_id = 20;


TOM大师对rowid的解释:https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:53140678334596
ORACLE-FAQ:http://www.orafaq.com/wiki/ROWID

转载请说明出处 |QQ:327488733@qq.com



举报

相关推荐

0 条评论