Triggers

Trigger

A trigger is defined as an action taken by database when some database related events occur.

Triggers are implicitly fired by ORACLE when triggering event occur,no matter which user is using or used by which application.

The code within the trigger called the trigger body.

Trigger fires in following operations:

1. DML statements (INSERT, UPDATE, DELETE).
2. DDL statements ( CREATE or ALTER)
3. Database events such as logon/logoff, errors, startup /shutdown, etc.

Types of DML triggers:

Following are the types of DML triggers.
  1. BEFORE INSERT row
  2. BEFORE INSERT statement
  3. AFTER INSERT row
  4. AFTER INSERT statement
  5. BEFORE UPDATE row
  6. BEFORE UPDATE statement
  7. AFTER UPDATE row
  8. AFTER UPDATE statement
  9. BEFORE DELETE row
  10. BEFORE DELETE statement
  11. AFTER DELETE row
  12. AFTER DELETE statement

Creating a trigger:

Trigger can be created using the create trigger command.

Syntax:

CREATE (OR REPLACE) TRIGGER trigger_name
[BEFORE|AFTER]
[DELETE|INSERT|UPDATE[ OF column_name]]
ON table_name
[FOR EACH ROW][WHEN condition]
[PL/SQL BLOCK];

Trigger example 1:

Program of trigger for converting lowercase to uppercase before insert. 
Name it as trig.sql.

CREATE or REPLACE trigger upper1 BEFORE INSERT on STUDENT
For each ROW
BEGIN
:new.stdname:=upper (:new.stdname);
END;

Than compile above trigger using:

SQL>GET TRIG.SQL;

After compilation this message will display:
Trigger is created successfully.

Trigger example 2:

Program of trigger for after insert. To increment the serial number automatically after inserting the new student record.

CREATE or REPLACE trigger after_trigger1 AFTER INSERT ON student
For each ROW
BEGIN
UPDATE student SET sno - sno+1 where stdname = new.stdname;
END;

Trigger example 3:

Program of trigger for after delete. To decrement the serial number automatically after deleting the student record from table student.

CREATE or REPLACE trigger after_delete1 AFTER DELETE ON student
For each ROW
BEGIN
UPDATE student SET sno = sno-1 where stdname=:old.stdname;
END;

More topics from DBMS to read:

References:

  1. Korth, Silbertz,Sudarshan, “Fundamental of Database System”, McGraw Hill
  2. Atul Kahate , “ Introduction to Database Management System”, Pearson Educations

Python Programming ↓ 👆
Java Programming ↓ 👆
JAVA EasyExamNotes.com covered following topics in these notes.
JAVA Programs
Principles of Programming Languages ↓ 👆
Principles of Programming Languages
EasyExamNotes.com covered following topics in these notes.

Practicals:
Previous years solved papers:
A list of Video lectures References:
  1. Sebesta,”Concept of programming Language”, Pearson Edu 
  2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
  3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
  4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

    Computer Organization and Architecture ↓ 👆

    Computer Organization and Architecture 

    EasyExamNotes.com covered following topics in these notes.

    1. Structure of desktop computers
    2. Logic gates
    3. Register organization
    4. Bus structure
    5. Addressing modes
    6. Register transfer language
    7. Direct mapping numericals
    8. Register in Assembly Language Programming
    9. Arrays in Assembly Language Programming

    References:

    1. William stalling ,“Computer Architecture and Organization” PHI
    2. Morris Mano , “Computer System Organization ”PHI

    Computer Network ↓ 👆
    Computer Network

    EasyExamNotes.com covered following topics in these notes.
    1. Data Link Layer
    2. Framing
    3. Byte count framing method
    4. Flag bytes with byte stuffing framing method
    5. Flag bits with bit stuffing framing method
    6. Physical layer coding violations framing method
    7. Error control in data link layer
    8. Stop and Wait scheme
    9. Sliding Window Protocol
    10. One bit sliding window protocol
    11. A protocol Using Go-Back-N
    12. Selective repeat protocol
    13. Application layer
    References:
    1. Andrew S. Tanenbaum, David J. Wetherall, “Computer Networks” Pearson Education.
    2. Douglas E Comer, “Internetworking with TCP/IP Principles, Protocols, And Architecture",Pearson Education
    3. KavehPahlavan, Prashant Krishnamurthy, “Networking Fundamentals”, Wiley Publication.
    4. Ying-Dar Lin, Ren-Hung Hwang, Fred Baker, “Computer Networks: An Open Source Approach”, McGraw Hill.