动态查询中有时忽略字段短语

时间:2015-07-20 11:19:22

标签: progress-4gl

使用Progress 9.1e,我使用动态查询来进行可扩展的数据提取。

我正在使用表单

的查询
FOR EACH tableName FIELDS( fieldName1 fieldName2 ) NO-LOCK
  WHERE fieldName3 = "Value"
    AND fieldName4 = "AnotherValue"

对于其中一些查询,特别是表中字段较少的查询,字段短语正在工作并仅检索所请求的。

但是,对于其他查询,有趣的是那些具有更长,更复杂的字段列表(包括数组等)的查询,它会检索整个记录。

我已经阅读了有关检索联接所需的其他字段的各种讨论,但我已经简化了我的查询,因此这不是一个问题。

查询指定no-lock,get-next参数也是如此,因此独占锁的完整记录也不相关。

Progress是否有其他标准选择整个记录,是否有任何方法可以阻止它?

2 个答案:

答案 0 :(得分:0)

我不知道答案,我担心你可能不会得到一个,因为经常会忽略运行这些旧版Progress版本的人。

对我来说,你可以使用FIELDS进行动态查询,但是,文档暗示这是真的。

我很好奇你是如何知道它检索整个记录的,除非你是数据包嗅探或什么?

无论如何,这里有一些你可以检查的事情:

  • fldisable启动参数
  • rereadfields启动参数
  • 与EXCEPT的混淆
  • 进步知识库,但我刚刚检查过,找不到任何有用的东西。我依稀记得某些版本中的一个错误,其中你的问题敲响了警钟
祝你好运。

答案 1 :(得分:0)

根据这篇K-Base文章,可以将FIELDS用于动态查询:

http://knowledgebase.progress.com/articles/Article/21647

你可以分享你的代码,证明它不适合你吗?