在Oracle中,Rowid可以作为表的主键吗?如果该表与其他表有关联呢?
发布网友
发布时间:2022-04-08 18:55
我来回答
共1个回答
热心网友
时间:2022-04-08 20:24
朋友你好
我来说两句
原因一(RowID可那随时改变)
首先RowID也是伪列,但是他也是唯一的。
他每个值表示数据块的地址。
主键是可以做,但是很容易生效,当你对数据进行移动,
如导入和导出之类的操作,这个RowID也会随之改变。
所以说RowID不适合做主键。
原因二(主键也就含有自动创建的唯一索引)
索引创建的过程就是由RowID和列值进行绑定,
当数据块地址发生改变的时候,
如删除一条记录,那么索引也会被自动维护,
也就是说RowID会自动改变,
这也是ORACLE内部用ROWID的方法
希望你能理解!祝好运