Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Will after statement level trigger work on dML operations

Andrew RMay 29 2025 — edited Jun 4 2025

I have created this statement level trigger but it executes like row level trigger...

CREATE OR REPLACE TRIGGER trg_citizens_log
AFTER INSERT ON citizens
BEGIN
   INSERT INTO trigger_log ( log_id,trigger_name, log_time)
                   VALUES ( trigger_log_SEQ.nextval,'STATEMENT_TRIGGER', SYSTIMESTAMP );
END;
/

I have checked with these insert script..

BEGIN
  INSERT INTO CITIZENS VALUES (2, 'JOSH', 'MARK', 40);
  INSERT INTO CITIZENS VALUES (3, 'MANI', 'RAJ', 38);
  INSERT INTO CITIZENS VALUES (4, 'VIGNESH', 'KUMAR', 34);       
END;
/

INSERT ALL
  INTO CITIZENS VALUES (2, 'JOSH', 'MARK', 40)
  INTO CITIZENS VALUES (3, 'MANI', 'RAJ', 38)
  INTO CITIZENS VALUES (4, 'VIGNESH', 'KUMAR', 34)
SELECT * FROM dual;

Can anyone explain me why its behaving like this?

Comments
Post Details
Added on May 29 2025
4 comments
155 views