パラメーター化クエリ parameterized-queries

クエリサービスでは、クエリエディターでのパラメーター化クエリの使用がサポートされています。 パラメーター化クエリで、パラメーターのプレースホルダーを使用し、実行時にパラメーター値を追加できるようになりました。 プレースホルダーを使用すると、ステートメントが実行されるまで値が不明な動的データを操作できます。 また、事前にクエリを準備して、同様の目的で再利用することもできます。 クエリを再利用すると、ユースケースごとに個別の SQL クエリを作成しなくて済むので、かなりの労力を節約できます。

前提条件

このガイドを進める前に、 クエリエディター UI ガイドを参照してください。 クエリエディターガイドでは、Experience Platformユーザーインターフェイス内でカスタマーエクスペリエンス(顧客体験)データのクエリを記述、検証および実行する方法について詳しく説明しています。

NOTE
Adobe Experience Platform UI 内では、パラメーター化クエリは、インラインテンプレートの親レベルでのみサポートされます。 つまり、パラメーター化されたクエリは、元のテンプレートで使用された場合にのみ機能します。子テンプレートは静的テンプレートでなければならず、動的パラメーターを持つことはできません。 詳しくは、 インラインテンプレートのドキュメントを参照してください。

パラメーター化クエリ構文 syntax

パラメーター化クエリは、形式 '$YOUR_PARAMETER_NAME' を使用し、ドット表記を使用して連結できます。 パラメーター化クエリを使用する SQL 文の例を以下に示します。

INSERT INTO
   $Database_Name.Schema_Name.adwh_lkup_process_delta_log
   (process_name, merge_policy_id, process_status, process_date, create_ts, change_ts)
SELECT
   '$Table_Process_Name' process_name,
   hash('$Merge_PolicyID') merge_policy_id,
   '$process_status' process_status,
   to_date('$date_key') process_date,
   CURRENT_TIMESTAMP create_ts,
   CURRENT_TIMESTAMP change_ts;

パラメーター化クエリの作成 create

UI でパラメーター化されたクエリを作成するには、クエリエディターに移動します。 詳しくは、 クエリエディターへのアクセスの節を参照してください。

'$' の序文を使用して、テキストエディターでクエリにクエリパラメーターを入力します。次に、「​ コンソール ​​ の横にある「 ​​ クエリパラメーター ​」タブを選択し、キーに欠落している値を追加します。 必要なキーに値を追加しない場合、クエリは実行できません。 アラートアイコン( アラートアイコン。 )が「クエリパラメーター」セクション内の空の ​ 値 ​ 入力フィールドの隣に表示されます。

NOTE
クエリでパラメーターが指定されない場合でも、クエリエディター内で不要なパラメーターを入力できます。 クエリエディターでは、不要なキーと値のペアはすべて無視され、クエリの実行や結果には影響しません。

パラメーター化されたクエリと「クエリパラメーター」セクションがハイライト表示されたクエリエディター。

TIP
タブを ​ クエリパラメーター ​ から ​ コンソール ​ に変更して、クエリのコンソール出力を表示します。

クエリログの詳細を使用してパラメーター値を確認 check-parameter-values

使用される値は永続的ではないので、テンプレート内にパラメーターを保存することはできません。 ただし、「​ クエリログの詳細 ​ ページを確認すると、クエリの実行で使用されるパラメーター値を確認できます。 この場合、ログはクエリがパラメーター化クエリだったことを示しません。 使用される値を見つける手順については、 クエリログドキュメントを参照してください。

詳細セクションでハイライト表示されたパラメーター化クエリの SQL を含むクエリログビュー。

パラメーター化クエリのスケジュール設定 schedule

パラメーター値は、パラメーター化クエリをスケジュールする際に保存されます。 パラメーター化されたクエリをスケジュールするには、ガイド クエリスケジュールの作成の説明に従って、スケジュールされたクエリを一般的なプロセスで作成し、クエリの実行で使用するパラメーター値を入力します。 この UI セクションは、パラメーター化クエリに対してのみ表示されます。 詳しくは、 スケジュールされたパラメーター化クエリのパラメーターの設定の節を参照してください。

TIP
クエリサービスは、パラメーター化されたクエリを使用して、準備済みステートメントをサポートします。 使用される SQL 構文について詳しくは、 準備文構文ガイドを参照してください。

次の手順

このドキュメントでは、Adobe Experience Platform UI でクエリをパラメーター化し、スケジュールされたクエリの実行で使用する方法について説明しました。 また、このドキュメントでは、クエリの実行で使用されるパラメーター値のログを確認する方法についても重点的に説明しました。

次に、 スケジュール済みクエリの監視に関するガイドを読み、Platform UI を使用してすべてのクエリジョブのステータスをより深く理解することをお勧めします。

recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb