ホームページ >データベース >mysql チュートリアル >別のデータベースからの結果に基づいてデータベース クエリを実行するにはどうすればよいですか?

別のデータベースからの結果に基づいてデータベース クエリを実行するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-20 18:23:11421ブラウズ

How Can I Execute Database Queries Based on Results from Another Database?

別のデータベースのデータに基づいて DB クエリを実行する

あるデータベースで別のデータベースのクエリの結果に基づいてクエリを実行するにはデータベースでは、複数のアプローチを使用できます:

Lookup変換

ルックアップ変換を追加すると、最初のデータベースから ID のリストを取得できます。ルックアップのクエリは ID 列を返す必要があります。このメソッドはルックアップ値を提供しますが、取得した ID に基づいて行をフィルターしません。

IN 条件で行をフィルターするには、ルックアップ エラー出力オプションを利用します。

  • 行を無視: ルックアップから追加された列を無効にします。条件分割を使用して、これらの列に null 値を持つ行を削除します。
  • 行のリダイレクト: すべての行をエラー出力に送信し、行を効果的に除外します。

スクリプト タスク

すべてのデータをロードしないようにするには、スクリプト タスクを使用します。この手法はメモリ内で動作し、IN 比較用の ID のカンマ区切りリストを作成できます。結果の SQL コマンドは変数に保存され、後続の操作のソースとして利用されます。

SQL 実行タスク

SQL 実行タスクを使用して、IN 句を動的に構築します。 。クエリは、カンマ区切りの ID を持つ変更された SQL コマンドを含む単一の結果セットを生成します。この結果セットは、後続の DataFlow タスクのソースとして機能します。

特に文字列値を扱う場合は、データ型の処理を考慮してください。 SQL インジェクションの脆弱性を回避するには、文字列値を一重引用符で囲みます。さらに、動的クエリを適切に実行するには、DataFlow タスクの遅延検証プロパティが True に設定されていることを確認してください。

以上が別のデータベースからの結果に基づいてデータベース クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。