Rowid是数据库(oracle)中表的一行的唯一标识符。我想知道rowid是否可以在同一数据库中不同模式的表和不同数据库中的不同模式之间重复?
例如 -
答案 0 :(得分:2)
没有理由(并且没有来自Oracle的承诺)为什么不同数据库中的rowid应该是不同的。
同一数据库中的行通常在所有模式和表中都不同,但存储在同一集群中的不同表中的行可能具有相同的rowid。 (这直接来自文档:https://docs.oracle.com/cd/B28359_01/server.111/b28286/pseudocolumns008.htm)
答案 1 :(得分:0)
如果表未集群,则表示是,Oracle数据库中的每一行都有一个与之关联的唯一ROWID。请注意,由于某些数据库操作(重新组织数据库),ROWID行可能会更改,并且ROWID可能会重新使用(删除然后插入同一个表中可能会重用ROWID)。 ROWID存储有关行的唯一信息,如OBJID,FILENO(相对于存储对象的表空间),BLOCKNO(数据文件中的相对BLOCKNO)和ROWNUM(块中的相对rownumber)。 对于普通表(非集群或索引组织),ROWID是该行的唯一且快速访问路径。