问题描述
我需要在两个实例中从表中获取数据。我正在将 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-item,我将在其中存储 item 的值,然后在查询中使用外连接来获取结果,例如
DEFINE QUERY qItem FOR item,tt-item.
这是最好的方法吗?有没有更好、更复杂的方法来做到这一点,这样我就不需要复制项目表,因为它有很多数据,并且可能会使加载两次很慢? 我在互联网上搜索了这个,但找不到。对不起,如果这是一个愚蠢的问题。
解决方法
您还可以定义缓冲区。这就像第二个记录指针。
DEFINE BUFFER item2 FOR item.
DEFINE QUERY qItem FOR item,structure,item2.
临时表需要预先填充。数据库表上的缓冲区按需填充更多。