首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ROWID和RECID

ROWID和RECID
EN

Stack Overflow用户
提问于 2009-02-18 03:32:46
回答 2查看 5.5K关注 0票数 4

什么是ROWID和RECID在progress.Can中我们用RECID而不是ROWID.what是它们之间的区别吗?

EN

回答 2

Stack Overflow用户

发布于 2009-05-04 23:47:41

RECIDROWID都是指向数据库中特定记录的唯一指针。

两者或多或少都是指向数据库本身的物理指针,但在底层平台上没有对等的非OpenEdge表除外。在这些情况下,它可能由构成主键的值组成。

RECID是10.1A之前的32位整数,当数据库是OpenEdge数据库并且只有一个区域时,RECID就很好用。从10.1B开始,它们被升级到64位整数。

在v6中添加了连接到非OpenEdge数据库的容量,在v8中添加了容量以创建具有多个存储区域的OpenEdge数据库。在这一点上,RECID不足以在所有情况下唯一地寻址表中的所有记录。

因此ROWID结构诞生了。它的实际架构取决于底层数据库的类型,但它不受整数的限制。

除了操作OpenEdge数据库元模式的代码之外,文档中对that RECIDs should not be used going forward的说明非常清楚。

票数 10
EN

Stack Overflow用户

发布于 2009-02-27 16:10:34

RECID已被弃用,现在有几个版本。ROWID是它的替代品。我知道它实际返回的是包含您的记录的DB块的物理地址。在内存中,当他们想要支持来自4GL的不同DB引擎时,他们引入了ROWID,这意味着ROWID中有比RECID更多的东西。

我会远离RECID,你可能会在短期内摆脱它,但你给自己带来了一个潜在的问题,你可以完全避免。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/559730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档