阅读量:0
Rownum和Rowid是Oracle数据库中两个不同的概念。
Rownum是一个伪列,它是在查询结果中按顺序分配的行号。Rownum是在查询结果返回之后计算的,而不是在查询时就确定的。它对应的是查询结果集中的行号,而不是表中的实际物理行号。Rownum是用来筛选行的,比如可以使用Rownum来限制返回的行数。
Rowid是一个包含了行的物理地址信息的唯一标识符。它是每一行在表中的唯一标识,可以用来直接访问表中的特定行。Rowid是在行插入时生成的,每次插入都会生成不同的Rowid。Rowid是用来定位表中的特定行的,比如可以使用Rowid来更新或删除特定的行。
总的来说,Rownum是用来筛选行的,而Rowid是用来定位行的。它们之间的主要区别在于Rownum是在查询结果中的行号,而Rowid是行的物理地址唯一标识。