第3章 伪列:ROWID

原文地址:http://docs.oracle.com/cd/B19306_01/server.102/b14200/pseudocolumns008.htm

对于数据库中的每一行,ROWID返回该行的地址。ROWID的值包含定位数据行所需的所有信息,包括:

  • 对象的数据对象编号。

  • 数据行在数据文件中所属的块。

  • 数据行在块中的位置(第一行位置为0)。

  • 数据行所属的数据文件编号(第一个文件为1)。文件编号与表空间对应。

通常,一个ROWID唯一标识数据库中的一行。但是,存储在同一个聚簇内的不同表的行可以具有相同的ROWID。

伪列ROWID的值具有ROWID或者UROWID数据类型。参考“第2章 SQL基本元素:数据类型”。

ROWID的值具有几个重要的用途:

  • 它们是访问单一数据行最快的方式。

  • 它们显示了数据行在表中如何存储。

  • 它们是表中数据行的唯一标识。

不能使用ROWID作为表的主键。例如,删除并使用Import或者Export工具重新插入一行,它的ROWID可能会改变。删除一行后,Oracle可能将它的ROWID再分配给随后插入的新行。

虽然可以在查询的SELECT或者WHERE子句中使用ROWID,它实际并不在数据库中存储。不能插入、更新或者删除一个ROWID伪列的值。

示例

以下语句查询部门20的所有雇员的数据行的地址:

SELECT ROWID, last_name FROM employees WHERE department_id = 20;


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24945919/viewspace-748016/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24945919/viewspace-748016/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值