当其中一个字段更新时,保持两个字段同步

时间:2017-01-12 14:39:41

标签: progress-4gl openedge

需要删除此问题。它被标记。

2 个答案:

答案 0 :(得分:0)

您可以在代码中使用ASSIGN语句同时分配这两个值。如果某些其他进程可能会更改这些字段,则可以在每个字段上创建数据库触发器过程,以将值复制到其他字段。在数据字典中,查看字段属性,然后单击“触发器...”按钮来执行此操作。

答案 1 :(得分:0)

是的,ASSIGN用于设置缓冲区/记录字段的值。但是:需要满足某些标准:

  • 需要提供缓冲区/记录。
  • 您必须拥有缓冲区/记录的“锁定”。

如果您有可用的记录并已锁定,则可以执行以下操作:

ASSIGN arbu.unit-code-shu = adfc.unme-code.

要使此代码“更安全”,您只需确保arbu可用且未被任何其他用户锁定。最后,如果您的分配因为您根本没有锁定而失败,它将会处理。

IF AVAILABLE arbu AND NOT LOCKED arbu THEN DO:
  ASSIGN arbu.unit-code-shu = adfc.unme-code NO-ERROR.
  IF ERROR-STATUS:GET-NUMBER(1) = 396 THEN DO:
    MESSAGE "Apparently the record is locked." VIEW-AS ALERT-BOX ERROR.
  END.
END.

如果您没有记录(或正确的锁定),则需要查看您的应用程序并了解如何添加此功能。什么标识了第二张表的正确记录?一个身份证?别的什么? arbuadfc之间是否始终存在1对1的关系?

也许您的应用程序有一种简单的方法来设置字段的值。如果有一个建筑物,你应该试着坚持下去......