Skip to content

Triggers

cbjjensen edited this page Dec 4, 2014 · 3 revisions

Triggers

Basic Syntax

CREATE [OR REPLACE] TRIGGER _(trigger_name)_
[BEFORE | AFTER] (DELETE/UPDATE/INSERT) ON _tableName_

DECLARE
BEGIN
EXCEPTION
END;
```


## Examples

* After an employee record is modified, created a new record.
```
CREATE OR REPLACE TRIGGER test_trigger
AFTER DELETE ON employee_copy

DECLARE

BEGIN
  Insert into Employee_Copy (EMPLOYEE_ID, NAME, SALARY, TITLE)
  VALUES ('666', 'CHAD', '9999', 'Programmer');

END; 
```

* New Student, with a Student ID +1 greater than the current max student id.

```
CREATE OR REPLACE TRIGGER my_Trigger
BEFORE Update ON student_copy

DECLARE

nextStuID Number:= 0;

BEGIN

  select max(student_id)
  into nextStuID
  from STUDENT_COPY;
  
  nextStuID := nextStuID + 1;
  
  insert into student_copy (STUDENT_ID, SALUTATION, FIRST_NAME, LAST_NAME,
 STREET_Address, ZIP, PHONE, EMPLOYER, REGISTRATION_DATE, CREATED_BY, 
CREATED_DATE, MODIFIED_BY, MODIFIED_DATE)
  VALUES (nextStuID, 'Mr.', 'Chad', 'Jensen', 'Awesome Street', '66666', 
'123123123', 'Cerner', '20-APR-01', 'CJENSE14','20-APR-01','CJENSE14','20-APR-01');

END; 
```
Clone this wiki locally