【问题标题】:FOR EACH two tables with WHERE clause OpenEdgeFOR EACH 两个带有 WHERE 子句 OpenEdge 的表
【发布时间】:2018-09-05 12:54:19
【问题描述】:

我正在尝试根据它们的公共字段 ProductID 将两个表添加在一起,我正在使用 OpenEdge 编辑器,当我运行此进度文件时,我没有得到任何输出或警告消息。

FOR EACH table1, EACH table2 WHERE table1.ProductID = table2.ProductID:
    DISPLAY table1.ProductID.
END.

【问题讨论】:

  • 注意点:虽然这只是说明一点的虚拟代码,但最好养成始终指定锁类型的习惯。
  • 锁类型背后的想法是什么?
  • 进行中的锁语句共有三种。 NO-LOCK、EXCLUSIVE-LOCK 和 SHARE-LOCK 如果您不指定锁定语句,则 Progress 默认为 Share Lock,这是不好的。您最终将导致用户在多用户应用程序中陷入僵局。如果不更新记录,则应指定 No Lock,如果要更新记录,则应指定 Exclusive Lock。查询中的每个表都需要一个特定的锁定语句。

标签: openedge progress-4gl


【解决方案1】:

当像您这样的 Progress Openedge 程序运行时没有输出,这表明没有记录符合条件。分别查询表,确保它们有记录并硬编码一些你确定存在的代码来测试功能。您的语法似乎是正确的,因此很可能是与数据相关的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2018-04-10
    • 1970-01-01
    相关资源
    最近更新 更多