progress-4gl - ROWID 和 RECID

标签 progress-4gl

什么是 ROWID 和 RECID 实际上正在进行中。我们可以使用 RECID 代替 ROWID。它们之间的区别是什么?

最佳答案

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

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

RECID 是高达 10.1A 的 32 位整数,当数据库是 OpenEdge 数据库并且只有一个区域时很好。从 10.1B 开始,它们升级为 64 位整数。

在 v6 中增加了连接到非 OpenEdge 数据库的能力,在 v8 中增加了创建多个存储区域的 OpenEdge 数据库的能力。那时,RECID 不足以在所有情况下唯一地处理表中的所有记录。

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

该文档在说明 that RECIDs should not be used going forward 方面相当清楚,但操作 OpenEdge 数据库元模式的代码除外。

关于progress-4gl - ROWID 和 RECID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/559730/

相关文章:

mysql - 使用 libmysql.dll 连接 MySQL 的 Progress 4GL

progress-4gl - 如何创建正在进行中的逗号分隔值 openEdge

progress-4gl - 如何获取当前进行中的时间 (OpenEdge)

batch-file - 如何使用 INPUT/OUTPUT in Progress 4GL 运行 .exe/.bat 文件

azure - 使用来自 Progress Openedge 的 login.microsoft.com 进行 SAML 身份验证

code-coverage - profiler.out 内容代表什么?

menu - 如何以编程方式操纵进行中的多个动态小部件上的弹出菜单

progress-4gl - 通过使用任一属性排序来显示进度记录

progress-4gl - 从 Progress OpenEdge 数据库中的表中获取前 100 条记录(例如 SELECT TOP 100..)

function - Progress 4GL 如何计算字符串中分隔符的数量以与索引函数一起使用