更新时间:2026-07-28 GMT+08:00
特性概述
ROWID表是指包含ROWID/ROWNO系统列的表,ROWID不是普通的数据库列,而是一个伪列,表示表中每一行的唯一标识符。ROWID提供了对表中行的物理位置的直接访问,不需要在表中定义,每行数据自动拥有,不同表的ROWID可能重复,不支持通过INSERT/UPDATE/DELETE操作修改。本特性支持的ROWID表相关功能包括:
- ROWID表的创建、删除,包含CREATE TABLE AS、CREATE TABLE LIKE方式。
- 在ROWID表执行DML操作时,对ROWID/ROWNO系统列的维护。
- ROWID表的维护操作,包括VACUUM FULL、CLUSTER、ALTER TABLE SET TABLESPACE。
- 将非ROWID表转换为ROWID表,支持ALTER TABLE SET WITH ROWID。
- 对跨页透明压缩、闪回等其他使用到ROWID表的特性的支持。
- ROWID列包含表的tableoid信息,当表分区有变动时,如UPDATE分区键导致跨分区、分区表进行DDL操作(EXCHANGE、MERGE、SPLIT、MOVE)等,ROWID列可能发生变化。
- 触发器类型变量不支持访问ROWID/ROWNO系统列。
- 若范围表(子查询)无ROWID属性,则查询报错,比如Dual表。
- 对ROWID表进行细粒度备份恢复时,不保证新表中ROWID列的值与原表中ROWID列的值相同。
父主题: ROWID表