术语
rowid 指的是一个整数,它定义行的物理位置。在非分段表中,行的 rowid 是唯一且恒定的值。与之相对照,分段表中的行不指定 rowid。
重要: 使用主键而不是 rowid 来作为应用程序中的访问方法。由于主键是用 SQL 的 ANSI 规范来定义的,所以使用主键来访问数据可以使应用程序更易于移植。
为了适应必须引用分段表的 rowid 的应用程序,您可以为分段表显式地创建 rowid 列。然而,对于类型表,无法使用 WITH ROWIDS 子句。
要创建 rowid 列,请使用以下 SQL 语法:
- CREATE TABLE 语句的 WITH ROWIDS 子句
- ALTER TABLE 语句的 ADD ROWIDS 子句
- ALTER FRAGMENT 语句的 INIT 子句
创建 rowid 列时,数据库服务器执行下列操作:
- 对表中的每一行添加 4 个字节的唯一值
- 创建内部索引,数据库服务器使用该索引来通过 rowid 访问表中的数据
- 在 sysfragments 系统目录表中为该内部索引插入一行