Row-Level vs. Statement-Level
ExplanationOracle Fusion / EBS · Technical · PL/SQLHigh confidenceGenerated
Row-level fires once per affected row with :OLD/:NEW; statement-level fires once per statement, no row data.
How it works
A FOR EACH ROW trigger fires once per affected row, with :OLD/:NEW available for that specific row — the right choice whenever the logic depends on individual column values. A statement-level trigger (no FOR EACH ROW) fires exactly once for the whole statement, regardless of how many rows it touched (even zero), with no :OLD/:NEW access — useful for something like logging that a bulk update happened, without needing per-row detail.
How it works
CREATE OR REPLACE TRIGGER trg_emp_stmt_audit
AFTER UPDATE ON employees -- statement-level: no FOR EACH ROW
BEGIN
INSERT INTO dml_audit_log (table_name, operation, run_on)
VALUES ('EMPLOYEES', 'UPDATE', SYSDATE);
END;
/Related questions
GroundingGenerated
Model-generated, grounded against the curated knowledge layer. Check specifics against your instance.