0

我有一个单视图查询(非常繁重),所以我想避免再次重新查询。

此查询的输出被转换并放入文件中。该文件有一个唯一的参考编号(查询中的字段参考)。

我需要的“引用”作为第二个查询中的 where 子句的输入。

我正在考虑这个流程:第一个子作业:

                                  tOutputFile     
                                   /   
tOracleInput ->  tMap -> tReplicate
                                   \
                                  tMap (will only map the reference field)
                                     \
                                     tSetGlobalVar 
                                        (set to a list, and add to globalMap)

完成该子作业后,将运行下一个子作业;

tOracleInput (build the where clause from the list from globalMap) -> tMap  -> tOutputFile

这个设计好看吗?或者我最好在我的第二个 tOracleInput 中对引用号使用子查询?

SELECT ... FROM table1 WHERE references  IN (SELECT references from BIGVIEW WHERE ...)
4

1 回答 1

0

根据为引用字段检索到多少不同的值,查询应该超过 Oracle 授权的最大长度。
您应该考虑使用“在每一行重新加载”查找模型提供的工具将这些值与第二个 tOracleInput 连接起来。在这里
了解它是如何工作的。

希望这可以帮助。

于 2017-06-22T19:43:59.200 回答