MySQL - スケジュール済みクエリトリガー

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

スケジュール済みカスタムSQLによる新規/更新済み行のバッチ

このトリガーは、ユーザー定義の間隔で実行されるユーザー定義クエリから返された行を取得します。 これはバッチアクショントリガーであり、返された行をバッチで処理します。

新規/更新済み行トリガー新規/更新済み行トリガー

入力フィールド説明
SQL新しい行を取得するために各ポーリング間隔で実行されるカスタムSQLクエリ。
スケジュールSQLを実行する頻度を選択します。
タイムゾーンスケジュールに設定するタイムゾーンを選択します。
SQLクエリを実行する時刻の時を設定します。
SQLクエリを実行する時刻の分を設定します。
月の日SQLクエリを実行する月の日を設定します。
曜日SQLクエリを実行する曜日を選択します。
バッチサイズ このレシピの個々のジョブで処理するバッチサイズを設定します。 デフォルトは100です。

入力フィールドの詳細

SQL

行を選択するために実行するSQLを指定します。 ここで指定したSQLは、出力データツリーの生成に使用されます。 これを行うために、SQLは指定時に1回実行されます。 ここでデータピルをマッピングして、動的に変化するSQLステートメントを実行できます。 データピルは引用符('')で囲むことを忘れないでください。 意図している場合は、以前のジョブ実行で処理済みの行を取得しないようにするため、必ずいくつかのWHERE句を含めてください。 これは、テーブル内のupdated_atまたはcreated_atタイムスタンプ列に基づいて行を限定することで実行できます。

sql
select *
from contacts
where contacts.created_at between now() and now() + INTERVAL 1 DAY;

SQLでTOPのような制限句を使用しないでください。 これは、クエリで返される行数の制限が、バッチサイズ入力フィールドで定義された値に基づいているためです。 独自のlimit句を追加すると、アクションは失敗します。

スケジュール

インテグレーションのユースケースに必要なスケジュールのタイプを選択します。 この入力フィールドは、次の選択肢があるピックリストです。

  • 毎時
  • 毎日
  • 毎月

タイムゾーン

スケジューラーに設定するタイムゾーンを選択します。 これは必須フィールドです。

スケジュール済みSQLクエリを実行する時刻の時を設定します。 これは、スケジュールとして毎日または毎月を選択した場合にのみ必要です。

スケジュール済みSQLクエリを実行する時刻の分を設定します。 これは常に必須です。

月の日

月の日として131の値を指定します。 日数の少ない月では、値が月の最終日に切り下げられる場合があります。 例:値31を使用し、その月が31日より前に終わる場合、トリガーは月の最終日にSQLクエリを実行します(例:2月28日、3月31日、4月30日など)

スケジュールとして毎月を選択した場合にのみ必要です。 これは任意フィールドであり、空のままにするとデフォルトで月の初日になります。

曜日

スケジュール済みSQLクエリを実行する曜日を選択します。 これは、スケジュールとして毎時または毎日を選択した場合にのみ必要です。 毎時を選択した場合、トリガーはここで選択された曜日にSQLを1時間ごとに実行します。

バッチサイズ

各ジョブで返す行のバッチサイズ。 これは1から最大バッチサイズまでの任意の数値にできます。 最大バッチサイズは100で、デフォルトは100です。

任意のポーリングで、行数が設定されたバッチサイズより少ない場合、このトリガーはすべての行をより小さいバッチとして配信します。

Last updated: