Oracle Tutorial

What is Oracle
SQL Keywords

Oracle Wildcards

Oracle Wildcards

Oracle Aliases

Oracle Aliases

MySQL Tutorial

MySQL Tutorial

PL/SQL Tutorial

PL/SQL Tutorial

Oracle Interview Questions

Oracle Interview Questions and Answers


Oracle Before Insert Trigger

In Oracle the BEFORE INSERT Trigger will fire before the INSERT operation is executed.

Oracle Before Insert Trigger Syntax

Syntax

CREATE [OR REPLACE ] TRIGGER trigger_name  
	BEFORE INSERT ON table_name    
	[FOR EACH ROW]    
DECLARE 
   Declaration-statements 
BEGIN  
   Executable-statements 
EXCEPTION 
   Exception-handling-statements 
END;  

Where:

CREATE TRIGGER trigger_name: To create trigger with sutable name.

REPLACE OR REPLACE TRIGGER trigger_name: To replace trigger with sutable name.

BEFORE: To specifies when you want the trigger to be executed. The INSTEAD OF clause is used for creating trigger on a view.

INSERT: To specifies DML operation.

[ON table_name]: To specifies the name of the table associated with the trigger.

[FOR EACH ROW]: To specifies a row level trigger, Otherwise the trigger will execute just once when the SQL statement is executed.

WHEN (condition): The condition on which the trigger would fire. This is valid for row level triggers.

Oracle Before Insert Trigger Example

To show how to create an BEFORE INSERT trigger using the CREATE TRIGGER statement, use the following syntax:

CREATE OR REPLACE TRIGGER user_before_insert
BEFORE INSERT
   ON tblCustomerLoan
   FOR EACH ROW
DECLARE
   t_username varchar2(10);
BEGIN
   -- Find loged username performing INSERT into table
   SELECT user INTO t_username
   FROM dual;
   -- Update create_date field to current system date
   :new.create_date := sysdate;
   -- Update created_by field to the username of the person performing the INSERT
   :new.created_by := t_username;
END;