Hello, I'm trying to comprehend the logic behind Triggers in SQL. I understand that, when updating some value, 'for each row' means that the Trigger will be executed for each row affected by the change (the update operation). But for Inserts I don't understand how the 'for each row' statement works. If I have a trigger to run before the insert and, based on the values of the inserted row, decide whether to insert it or not, why is 'for each row' necessary here? And why do I need it to use the :new value. An example: create or replace trigger tgr_example before insert on tbl_example for each row declare ValueToHigh exception; begin ifnew.value > 50) then raise ValueToHigh; end if; exception when ValueTohigh then DBMS_OUTPUT.PUT_LINE('To High.'); end; So, why is it required the 'for each row' statement for this example? Thanks!