トリガーを起動する条件を精錬するための検索条件句を指定するキーワード。
この句はオプションであり、デフォルトはありません。
- (search_condition)
- トリガーの起動条件をさらに詳細化するロジック。
- search_conditionは、トリガー定義の範囲内での項目の比較に基づく有効な検索条件です。 UDTに順序付けが定義されていれば、検索条件にはUDT比較が組み込まれます。 CREATE ORDERINGおよびREPLACE ORDERINGを参照してください。
- トリガーが行トリガーの場合、search_conditionは現在の行の行相関名に基づきます。
- search_conditionがsubqueryを指定する場合、この条件に集約を含めることができます。それ以外の場合は、WHEN句検索条件指定の一部としては集約は無効です。
- WHEN句検索条件からOLD TABLEまたはNEW TABLE遷移テーブルを参照する場合に、述部をsubqueryとして表現する必要があるので、このことは重要です。WHEN条件は必ず単一の結果を出力するので、OLD TABLEとNEW TABLE列参照の典型的な使用法は、集約を指定する方法です。
- ブール条件。評価がTRUEまたはFALSEにならない式は、検索条件またはカーソル名のいずれとしても無効です。
- search_conditionは、次のそれぞれにつき1度評価されます。
- トリガー文の実行(文トリガーの場合)
- 変更行の入った遷移テーブルの行(行トリガーの場合)
- トリガーされるアクションが実行されるかどうかは、以下の表に示すように、検索条件結果の評価に依存します。
search_conditionの評価 文または行 TRUE トリガーされるアクションの起動に関して適格であるとみなされます。 FALSE トリガーされるアクションの起動に関して適格であるとみなされません。 UNKNOWN トリガーされるアクションの起動に関して適格であるとみなされません。