The old and new qualifiers can be used in which type of trigger ?
-
Row level DML trigger
-
Statement level DML trigger
-
Row level Application trigger
-
Statement level Application trigger
OLD and NEW qualifiers (referencing :OLD and :NEW values) are only available in row-level DML triggers. These qualifiers reference the before/after state of the row being modified. Statement-level triggers operate on sets of rows and don't have :OLD/:NEW context. Application triggers (Forms/Reports) have different mechanisms.
The :OLD and :NEW qualifiers give a trigger access to a row's values before and after a DML operation, which only makes sense when the trigger fires once per affected row — i.e. a row-level DML trigger. Statement-level triggers fire once per statement regardless of how many rows are affected, so there is no single row to reference with :OLD/:NEW.