【发布时间】:2014-06-12 12:12:42
【问题描述】:
我试图使用以下查询从表中获取最后一条记录。
SELECT *
FROM TABLE1
WHERE ROWID IN (SELECT MAX (ROWID) FROM TABLE1);
当我检查ROWID时,
值为AAAZA5eAFAAA7AAAA
还有MIN(ROWID) 的一些其他值。
这个pseudocolumn 是如何在这里得到评估的?它还提到 Oracle 数据库不保证这些列的值是有效的 rowids。所以 ROWID 值在模式中不一定是唯一的?
根据文档: 数据库中的每一行都有一个地址。您可以通过查询伪列 ROWID 来检查行地址。该伪列的值是表示每行地址的字符串。这些字符串的数据类型为 ROWID。您还可以创建包含具有 ROWID 数据类型的实际列的表和集群。 Oracle 数据库不保证这些列的值是有效的 rowid。
【问题讨论】:
标签: oracle