パラメーター化クエリ parameterized-queries
クエリサービスは、クエリエディターでのパラメーター化されたクエリの使用をサポートしています。 パラメーター化されたクエリでは、パラメーターにプレースホルダーを使用し、実行時にパラメーター値を追加できるようになりました。 プレースホルダーを使用すると、ステートメントが実行されるまで値がわからない動的データを操作できます。 また、クエリを事前に準備し、同様の目的で再利用することもできます。 クエリを再利用することで、ユースケースごとに異なるSQL クエリを作成する必要がなくなるため、大幅な労力を節約できます。
前提条件
このガイドを続ける前に、 クエリエディターUI ガイド をお読みください。 クエリエディターガイドでは、Experience Platform ユーザーインターフェイス内でカスタマーエクスペリエンスデータのクエリを作成、検証、実行する方法について詳しく説明します。
パラメーター化されたクエリ構文 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でパラメーター化されたクエリを作成するには、クエリエディターに移動します。 詳しい手順については、 クエリエディターへのアクセス の節を参照してください。
'$' の序文を使用して、テキストエディターでクエリにクエリパラメーターを入力します。 次に、 コンソール の横にあるクエリパラメーター タブを選択して、キーの欠落している値を追加します。 必要なキーのいずれかに値を追加しない場合、クエリを実行できません。 アラートアイコン (
クエリログの詳細を使用してパラメーター値を確認する check-parameter-values
使用される値は永続的ではないため、テンプレート内にパラメーターを保存することはできません。 ただし、 クエリログの詳細 ページを確認して、クエリ実行で使用されるパラメーター値を見つけることができます。 この場合、ログは、クエリがパラメーター化されたクエリであることを示しません。 使用される値の検索方法については、 クエリログのドキュメント を参照してください。
パラメーター化されたクエリのスケジュール schedule
パラメーター化されたクエリをスケジュールすると、パラメーター値が保存されます。 パラメーター化されたクエリをスケジュールするには、典型的なプロセスに従って、 クエリスケジュールの作成のガイドに記載されているようにスケジュールされたクエリを作成し、クエリ実行で使用するパラメーター値を入力します。 このUI セクションは、パラメーター化されたクエリにのみ表示されます。 特定の手順については、 スケジュールされたパラメーター化されたクエリのパラメーターの設定の節を参照してください。
次の手順
このドキュメントでは、Adobe Experience Platform UIでクエリをパラメーター化し、スケジュールされたクエリ実行で使用する方法について説明しました。 このドキュメントでは、クエリ実行で使用されるパラメーター値のログを確認する方法についても説明しました。
次に、 スケジュールされたクエリの監視に関するガイドを参照して、Experience Platform UIを通じてすべてのクエリジョブのステータスをより深く理解することをお勧めします。