在Oracle中,Rowid可以作为表的主键吗?如果该表与其他表有关联呢?
来源:百度知道 编辑:UC知道 时间:2024/05/22 03:10:21
Rowid作为主键与表本身的候选键作为主键有什么优劣呢?(我积分很少,所以只能给这么一点点,谢谢啦)
朋友你好
我来说两句
原因一(RowID可那随时改变)
首先RowID也是伪列,但是他也是唯一的。
他每个值表示数据块的地址。
主键是可以做,但是很容易生效,当你对数据进行移动,
如导入和导出之类的操作,这个RowID也会随之改变。
所以说RowID不适合做主键。
原因二(主键也就含有自动创建的唯一索引)
索引创建的过程就是由RowID和列值进行绑定,
当数据块地址发生改变的时候,
如删除一条记录,那么索引也会被自动维护,
也就是说RowID会自动改变,
这也是ORACLE内部用ROWID的方法
希望你能理解!祝好运