トリガーはどれもある事象と関連しています。トリガーは、それに対応する事象がデータベースで発生すると活動化されます。このトリガー事象は、特定の事象、すなわち UPDATE、INSERT、または DELETE (参照を制約するアクションにより生じる操作を含む) が対象表で実行される際に発生します。以下に例を示します。
CREATE TRIGGER NEW_HIRE AFTER INSERT ON EMPLOYEE FOR EACH ROW MODE DB2SQL UPDATE COMPANY_STATS SET NBEMP = NBEMP + 1
上のステートメントは、挿入操作が表 employee で行われる際に活動化されるトリガー new_hire を定義します。
どのトリガー事象も (したがってどのトリガーも)、 1 つだけの対象表と 1 つだけの更新操作に関連付けることができます。以下のような更新操作があります。
トリガー事象が更新操作である場合、その事象は対象表の特定の列と関連させることができます。この場合のトリガーは、更新操作が特定の列のどれかを更新しようとする場合に限り活動化されます。これにより、トリガーを活動化する事象をさらに細分化することができます。たとえば、次のトリガー REORDER は、更新操作を表 PARTS の列 ON_HAND か MAX_STOCKED で実行する場合に限り活動化します。
CREATE TRIGGER REORDER AFTER UPDATE OF ON_HAND, MAX_STOCKED ON PARTS REFERENCING NEW AS N_ROW FOR EACH ROW MODE DB2SQL WHEN (N_ROW.ON_HAND < 0.10 * N_ROW.MAX_STOCKED) BEGIN ATOMIC VALUES(ISSUE_SHIP_REQUEST(N_ROW.MAX_STOCKED - N_ROW.ON_HAND, N_ROW.PARTNO)); END