2017-06-22 6 views
0

Ich habe eine Ein-Sicht-Abfrage (die ziemlich schwer ist), also möchte ich erneute Abfragen vermeiden.talend - Ausgabe von tMap zu einer anderen Abfrage

Die Ausgabe dieser Abfrage wird transformiert und in die Datei eingefügt. Diese Datei enthält eine eindeutige Referenznummer (Feldverweis in der Abfrage).

Die "Referenzen" brauche ich als Eingabe als Where-Klausel in meiner zweiten Abfrage.

Ich denke an diesem Fluss: 1. Subjob:

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

Und nach vollständiger diesem Subjob, wird die nächste Subjob laufen;

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

Ist dieser Entwurf sieht okay? Oder verwende ich besser eine Unterabfrage auf der Referenznummer in meinem 2. tOracleInput?

Antwort

0

Abhängig davon, wie viele verschiedene Werte für das Referenzfeld abgerufen werden, sollte die Abfrage die von Oracle autorisierte maximale Länge überschreiten.
Sie sollten in Erwägung ziehen, diese Werte mit dem zweiten tOracleInput zu verknüpfen, indem Sie die Funktionen verwenden, die vom Suchmodell "Nachladen in jeder Zeile" angeboten werden.
Lear, wie es funktioniert here.

Hoffe das hilft.

Verwandte Themen