2016-08-11 79 views
-1

如何在Oracle 11或12中没有主键标识的表中标识记录即使在导出,导入和处理表后也是正确的(因为这个原因,rowid不会很好溶液)如何识别Oracle中的记录

+1

你需要解释y我们的情况多一点。推测“记录”是指“行”(Oracle表中没有“记录”)。 “识别”是什么意思?很明显,rowid确实确定了一行,所以也许你的意思是“识别”的其他内容。如果没有PK,也许你的表甚至有重复?在那种情况下,“识别”是什么意思,如果不是rowid? – mathguy

+0

欢迎来到SO;这里你可以找到[问]和如何建立[mcve] – Aleksej

+0

1. Yes ROW no Record :) 2. Identyfy - 用于更新。 3.表没有PK和英国.... 4. rowid可能会改变 - 在备份,导入,表缩小或其他操作之后... –

回答

-1

参照这些甲骨文Docs

一个表中的每一行都有ROWID伪,ROWID是始终包含Dictionery该行的地址唯一,但标准说,你应该使用自己创建PK.If你的表没有PK,然后创建一个PK或制作一些合适的列唯一

+1

导入数据库rowid后 - 因为它们是记录的物理地址,并且这些正在改变... –

+0

@TomaszTomzik如我所述,如果你的表没有PK,那么创建一个PK或制作一些合适的列唯一 –

+0

我不能创建一个主键,因为它不是我的数据库... –