在Progress-4GL中,是否可以两次从同一个表中获取信息



我需要从两个实例中的表中获取数据。我正在将Oracle SQL转换为Progress,代码如下:

select item.id,structure.group, item2.id
from item,structure,item item2 
where item.id = structure.id and structure.sub_id = item2.id (+)

我认为最好的想法是创建一个临时表tt项,在其中存储项的值,然后在查询中使用外部联接来获得结果,类似

DEFINE QUERY qItem FOR item,structure,tt-item.

这是最好的方法吗?有没有更好、更复杂的方法可以做到这一点,这样我就不需要复制项表,因为它有很多数据,而且加载速度可能会慢两倍?我在互联网上搜索了这个,但找不到。

您还可以定义一个缓冲区。这就像是第二个记录指针。

DEFINE BUFFER item2 FOR item. 
DEFINE QUERY qItem FOR item, structure, item2.

需要预先填充临时表。数据库表上的缓冲区会根据需要进行更多填充。

相关内容

  • 没有找到相关文章

最新更新