Oracle - 新規行トリガー

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

新規行

このトリガーは、選択したテーブルまたはビューに挿入された行を取得します。 各行は個別のジョブとして処理されます。 各ポーリング間隔で新しい行をチェックします。

トリガーの利用状況

このトリガーは、履歴レコードを含め、選択したテーブルまたはビューから一致するすべての行を取得します。 大規模なテーブルでトリガーが処理する行数を制限し、負荷を軽減するため、WHERE条件を追加することをお勧めします。

新規行トリガー新規行トリガー

入力フィールド説明
テーブル 行を処理するテーブル/ビューを選択します。
一意キー 行を一意に識別する一意キー列を選択します。 この列のリストは、選択したテーブル/ビューから生成されます。
WHERE条件 行をフィルターするための任意のWHERE条件を指定します。

行の新規バッチ

このトリガーは、選択したテーブルまたはビューに挿入された行を取得します。 これらの行は、各ジョブで行のバッチとして処理されます。 このバッチサイズは、トリガー入力で設定できます。 各ポーリング間隔で新しい行をチェックします。

トリガーの利用状況

このトリガーは、履歴レコードを含め、選択したテーブルまたはビューから一致するすべての行を取得します。 大規模なテーブルでトリガーが処理する行数を制限し、負荷を軽減するため、WHERE条件を追加することをお勧めします。

新規行バッチトリガー新規行バッチトリガー

入力フィールド説明
テーブル 行を処理するテーブル/ビューを選択します。
一意キー 行を一意に識別する一意キー列を選択します。 この列のリストは、選択したテーブル/ビューから生成されます。
バッチサイズ このレシピの個別のジョブごとに処理するバッチサイズを設定します。
WHERE条件 行をフィルターするための任意のWHERE条件を指定します。

入力

テーブル

Tableフィールドでは、行を処理するテーブル/ビューを選択します。 ピックリストからテーブルを選択するか、入力フィールドをテキストモードに切り替えて完全なテーブル名を入力できます。

一意キー

この選択した列の値は、選択したテーブル内の行の重複を排除するために使用されます。 これにより、同じ行が同じレシピ内で2回処理されないようになります。

選択した列の値は、テーブル内で重複していない必要があります。 通常、この列はテーブルの主キーです(例:ID)。 増分可能で、ソート可能である必要があります。 パフォーマンスを向上させるために、この列にインデックスを付けることもできます。

プライマリキー('P')制約または一意('U')制約を持つ列のみ使用できます。 次のSQLクエリを実行して、この要件を満たす列を確認します。

sql
SELECT c.column_name
FROM all_indexes i, all_ind_columns c
WHERE
  i.table_owner = 'TABLE_OWNER' AND
  i.table_name = 'TABLE_NAME' AND
  i.uniqueness = 'UNIQUE' AND
  i.table_name = c.table_name AND
  i.index_name = c.index_name
UNION
SELECT cc.column_name
FROM all_constraints con, all_cons_columns cc
WHERE
  con.table_owner = 'TABLE_OWNER' AND
  con.table_name = 'TABLE_NAME' AND
  con.constraint_type in ('U', 'P') AND
  con.table_name = cc.table_name AND
  con.constraint_name = cc.constraint_name

バッチサイズ

このフィールドは、各ジョブで返す行のBatch sizeを決定します。 これは1から最大バッチサイズまでの任意の数値にできます。 最大バッチサイズは1000で、デフォルトは100です。

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

WHERE条件

WHERE条件は、1つ以上の列値に基づいて行をフィルターするために使用されます。 例:

sql
status = 'closed' and priority > 3

選択したテーブルのすべての行を処理するには、WHEREフィールドを空白のままにします。

サブクエリを含む複雑なWHERE条件も使用できます。 詳細については、WHERE条件のドキュメントを参照してください。

Last updated: