パラメーター化クエリ 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 でクエリをパラメーター化し、スケジュールされたクエリの実行で使用する方法について説明しました。 また、このドキュメントでは、クエリの実行で使用されるパラメーター値のログを確認する方法についても重点的に説明しました。
次に、 スケジュール済みクエリの監視に関するガイドを読み、Platform UI を使用してすべてのクエリジョブのステータスをより深く理解することをお勧めします。