在Progress 9.1e中,我使用动态查询来进行可扩展的数据提取。
我使用的查询形式为
FOR EACH tableName FIELDS( fieldName1 fieldName2 ) NO-LOCK
WHERE fieldName3 = "Value"
AND fieldName4 = "AnotherValue"
,对于其中一些查询,特别是表中字段很少的查询,字段短语正在工作并仅检索所请求的。
然而,在其他查询中,有趣的是那些有更长的、更复杂的字段列表(包括数组等)的查询,它检索整个记录。
我已经阅读了关于检索连接所需的附加字段的各种讨论,但我已经简化了我的查询,因此这不是问题。
查询指定了no-lock, get-next参数也是如此,因此排他锁的完整记录也不应该是相关的。
Progress决定选择整个记录是否有其他标准,是否有任何方法可以停止它?
我不知道这个问题的答案,我担心你可能不会得到一个,因为运行这种旧Progress版本的人经常被忽视。
你可以在动态查询中使用FIELDS,这对我来说是个新闻,但是,文档暗示这是真的。
我很好奇你怎么知道它检索整个记录,除非你是包嗅探什么的?
无论如何,这里有一些事情你可以检查:
- fldisable启动参数
- rereadfields启动参数 与EXCEPT混淆
- 进度知识库,但是我只是快速检查,找不到任何有用的东西。我隐约记得一些版本的bug,你的问题让我想起了
好运。