別のデータベースのデータに基づいて DB クエリを実行する
あるデータベースで別のデータベースのクエリの結果に基づいてクエリを実行するにはデータベースでは、複数のアプローチを使用できます:
Lookup変換
ルックアップ変換を追加すると、最初のデータベースから ID のリストを取得できます。ルックアップのクエリは ID 列を返す必要があります。このメソッドはルックアップ値を提供しますが、取得した ID に基づいて行をフィルターしません。
IN 条件で行をフィルターするには、ルックアップ エラー出力オプションを利用します。
スクリプト タスク
すべてのデータをロードしないようにするには、スクリプト タスクを使用します。この手法はメモリ内で動作し、IN 比較用の ID のカンマ区切りリストを作成できます。結果の SQL コマンドは変数に保存され、後続の操作のソースとして利用されます。
SQL 実行タスク
SQL 実行タスクを使用して、IN 句を動的に構築します。 。クエリは、カンマ区切りの ID を持つ変更された SQL コマンドを含む単一の結果セットを生成します。この結果セットは、後続の DataFlow タスクのソースとして機能します。
特に文字列値を扱う場合は、データ型の処理を考慮してください。 SQL インジェクションの脆弱性を回避するには、文字列値を一重引用符で囲みます。さらに、動的クエリを適切に実行するには、DataFlow タスクの遅延検証プロパティが True に設定されていることを確認してください。
以上が別のデータベースからの結果に基づいてデータベース クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。