在oracle数据库表中没有添加rowid字段为什么会出现

 我来答
ba5ham
推荐于2016-07-20 · TA获得超过8834个赞
知道大有可为答主
回答量:2673
采纳率:0%
帮助的人:2530万
展开全部
rowid 是 oracle 数据库表中的伪列, rowid 首先是一种数据类型,它唯一标识一条记录物理位置, 基于64位编码的18个字符显示。因为 rowid 是简数伪列, 所以并未真的判拦存储在表中,但可以从表中查询,但不支持插入,更新,删除它们掘咐胡的值。

其他的伪列还有 rownum (行号)
追问
将rownum设为主键时建立几条模拟数据后当根据rownum查询时只能查询出来第一条记录,后来的记录则呢么就查不到了啊,谢谢了。
追答
rownum 是伪列,你不可能把 rownum 作为表的主键的。需要注意的是 rownum 是指查询结果集的行号,而不是表的行号。比如:

select * from tab where rownum=9; 即使 tab 表中有很多记录,但这个 sql 语句是永远也查不出数据的, 因为你指定了 rownum =9 作为查询条件,因而是单行查询,查询结果最多只能返回一条记录,也就是说 rownum 最多=1, 是不可能等于9 的。
yjx_xiaoxin
2011-08-02 · TA获得超过6702个赞
知道大有可为答主
回答量:4618
采纳率:50%
帮助的人:2497万
展开全部
这是个枝漏族伪搜备列,总是存在猛弊的。大部分时候(索引组织表除外),rowid表示的就是数据行在数据库中的具体位置。
追问
将rownum设为主键时建立几条模拟数据后当根据rownum查询时只能查询出来第一条记录,后来的记录则呢么就查不到了啊,谢谢了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Finish1983
2011-08-02 · TA获得超过762个赞
知道小有建树答主
回答量:1477
采纳率:100%
帮助的人:389万
展开全部
自带的
可以唯一键使用
追问
将rownum设为主键时建立几条模拟数据后当根据rownum查询时只能查询出来第一条记录,后来的记录则呢么就查不到了啊,谢谢了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式