Ausführen von DB-Abfragen basierend auf Daten aus einer anderen Datenbank
Um eine Abfrage in einer Datenbank basierend auf den Ergebnissen einer Abfrage aus einer anderen auszuführen Datenbank können mehrere Ansätze verwendet werden:
Lookup Transformation
Durch Hinzufügen von a Lookup Transformation können Sie die Liste der IDs aus der ersten Datenbank abrufen. Die Abfrage im Lookup muss die ID-Spalte zurückgeben. Während diese Methode die Suchwerte bereitstellt, filtert sie keine Zeilen basierend auf den erhaltenen IDs.
Um Zeilen mit der IN-Bedingung zu filtern, verwenden Sie die Suchfehler-Ausgabeoptionen:
Skriptaufgabe
Um das Laden aller Daten zu vermeiden, verwenden Sie eine Skriptaufgabe. Diese Technik arbeitet im Speicher und kann eine durch Kommas getrennte Liste von IDs für den IN-Vergleich erstellen. Der resultierende SQL-Befehl wird in einer Variablen gespeichert und als Quelle für nachfolgende Vorgänge verwendet.
SQL-Aufgabe ausführen
Erstellen Sie die IN-Klausel dynamisch, indem Sie eine SQL-Ausführungsaufgabe verwenden . Die Abfrage generiert einen einzelnen Ergebnissatz, der den geänderten SQL-Befehl mit den durch Kommas getrennten IDs enthält. Dieser Ergebnissatz dient als Quelle für die nachfolgende DataFlow-Aufgabe.
Berücksichtigen Sie die Handhabung von Datentypen, insbesondere beim Umgang mit Zeichenfolgewerten. Schließen Sie Zeichenfolgenwerte in einfache Anführungszeichen ein, um Sicherheitslücken durch SQL-Injection zu vermeiden. Stellen Sie außerdem sicher, dass die Eigenschaft „Verzögerte Validierung“ der DataFlow-Aufgabe auf „True“ gesetzt ist, damit die dynamische Abfrage ordnungsgemäß ausgeführt werden kann.
Das obige ist der detaillierte Inhalt vonWie kann ich Datenbankabfragen basierend auf Ergebnissen einer anderen Datenbank ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!