代码之家  ›  专栏  ›  技术社区  ›  Randy Minder

如何确定行是否已更改?

  •  1
  • Randy Minder  · 技术社区  · 7 年前

    关于检测已修改的行,我可以使用的大多数AX表中似乎有两列,ModifiedDataTime和RecVersion。我有两个与这些专栏相关的问题:

    1) ModifiedDataTime列是否在每次更新行时更新?如果是,即使有人在AX应用程序之外(例如从SSMS之类的工具)直接更新表中的行,该值是否也会更新?

    2) 上述问题与RecVersion相同。另外,该数字在整个数据库中是全局唯一的,还是仅在表中是唯一的?

    有没有其他我不知道的选择来做我想做的事?

    2 回复  |  直到 7 年前
        1
  •  2
  •   FH-Inway    7 年前

    您想要使用字段 RecId RecVersion ,可在AX 2012的所有业务数据表中找到。 累西德 a unique value for each record of a table . 再转化 在创建记录后为1,并且每次更改记录时都更改为1以外的数字。

    ModifiedDateTime 不是一个好的选择,因为它不是在所有表上都可用。

    TableId 累西德 在AX业务数据库中唯一标识记录。

    How do I get the location for a row in dbo.CUSTTRANS? ,AX附带了一个数据集市,并且还具有一些关于如何根据业务数据中的更改来更新数据集市的逻辑。我不熟悉这些更新的细节,但可能值得对它们进行调查,看看是否可以将它们用于您的目的。

        2
  •  1
  •   Martin Dráb    7 年前

    AIF 更改跟踪记录也删除了记录,ModifiedDateTime和RecVersion字段都不能提供给您。