Database Management 5. course. Today Procedures Functions PL/SQL blocks Triggers.
Database Triggers
-
Upload
shaharyar-nawaz -
Category
Data & Analytics
-
view
50 -
download
2
Transcript of Database Triggers
DATABASE TRIGGERS
WHAT IS DATABASE TRIGGERS ?
ANSWER :• A DATRABASE TRIGGER IS PROCEDURAL CODE THAT IS AUTOMATICALLY EXECUTED IN
RESPONSE TO CERTAIN EVENTS ON A PARTICULAR TABLE OR VIEW IN A DATABASEE.
• THAT ARE THE PROCEDURES THAT IMPLICITLY EXECUTED WHEN AN EVENT OCCURS
AGAINST ASSOCIATED TABLE.
• TRIGGERS EXECUTES WHEN A USER TRIES TO MODIFY DATA BY DML , DDL EVENT.
• THAT TRIGGERS ARE STORED IN THE DATABASE SEPARATELY FROM THEIR ASSOCIATED
TABLES.
• TRIGGERS ARE EVENT-DRIVEN SPECIALIZED PROCEDURES, THEY ARE STORED IN AND
MANAGED BY THE DBMS
HOW AMANY TYPES OF TRIGGERS ?• THE FOUR MAIN TYPES OF TRIGGERS ARE:
1: ROW LEVEL TRIGGER:
THIS GETS EXECUTED BEFORE OR AFTER ANY COLUMN VALUE OF A ROW CHANGES
2: COLUMN LEVEL TRIGGER:
THIS GETS EXECUTED BEFORE OR AFTER THE SPECIFIED COLUMN CHANGES
3: FOR EACH ROW TYPE
THIS TRIGGER GETS EXECUTED ONCE FOR EACH ROW OF THE
RESULT SET AFFECTED BY AN INSERT/UPDATE/DELETE
4: FOR EACH STATEMENT TYPE:
THIS TRIGGER GETS EXECUTED ONLY ONCE FOR THE ENTIRE
RESULT SET, BUT FIRES EACH TIME THE STATEMENT IS
EXECUTED.
WHICH EVENTS ? ? ??
• EVENTS ARE DIFFERENT FOR DML & DDL
DML (DATA MODULATION LANGUAGE)TRIGGERS
• DML EVENTS ARE INSERT, UPDATE, OR DELETE STATEMENTS ON A TABLE OR VIEW.
• DML TIGGERS ARE ALSO CALLED STANDARD TRIGGERS.
• DML TRIGGERS ARE FREQUENTLY USED FOR ENFORCING BUSINESS RULES AND DATA INTEGRITY.
• THE CODE FOR CREATING DML TRIGGER IS ON NEXT SLIDE
CREATE TRIGGER [ SCHEMA_NAME . ]TRIGGER_NAME
ON { TABLE | VIEW }
[ WITH <DML_TRIGGER_OPTION> [ ,...N ] ]
{ FOR | AFTER | INSTEAD OF }
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS { SQL_STATEMENT [ ; ] [ ,...N ] | EXTERNAL NAME <METHOD SPECIFIER [ ; ] > }
<DML_TRIGGER_OPTION> ::=
[ ENCRYPTION ]
[ EXECUTE AS CLAUSE ]
<METHOD_SPECIFIER> ::=
ASSEMBLY_NAME.CLASS_NAME.METHOD_NAME
DDL (DATA DEFINATION LANGUAGE)TRIGGERS
• DDL EVENTS ARE CREATE, ALTER, DROP STATEMENTS. GRANT, DENY, REVOKE, AND UPDATE STATISTICS
STATEMENT ARE DDL TRIGGERS.
• THE CODE FOR CREATING DDL TRIGGER IS ON NEXT SLIDE
CREATE TRIGGER TRIGGER_NAME
ON { ALL SERVER | DATABASE }
[ WITH <DDL_TRIGGER_OPTION> [ ,...N ] ]
{ FOR | AFTER } { EVENT_TYPE | EVENT_GROUP } [ ,...N ]
AS { SQL_STATEMENT [ ; ] [ ,...N ] | EXTERNAL NAME < METHOD SPECIFIER > [ ; ]
}
<DDL_TRIGGER_OPTION> ::=
[ ENCRYPTION ]
[ EXECUTE AS CLAUSE ]
TRIGGER ON A LOGON EVENT (LOGON TRIGGER)
CREATE TRIGGER TRIGGER_NAME
ON ALL SERVER
WHAT TYPES OF WORK TRIGGERS DO ?
ANSWERS :
• A TRIGGER CAN PERMIT DML OPERATIONS AGAINST A TABLE ONLY IF THEY ARE
ISSUED DURING REGULAR BUSINESS HOURS.
• THE TRIGGER FURTHER RESTRICTS DML OPERATIONS TO OCCUR ONLY AT CERTAIN
TIMES DURING WEEKDAYS.
• AUTOMATICALLY GENERATE DERIVED COLUMN VALUES
• PREVENT INVALID TRANSACTIONS
• ENFORCE COMPLEX SECURITY AUTHORIZATIONS
(CONTINUES . . . . .)
•ENFORCE COMPLEX BUSINESS RULES
•PROVIDE TRANSPARENT EVENT LOGGING
•PROVIDE SOPHISTICATED AUDITING
•MAINTAIN SYNCHRONOUS TABLE REPLICATES
•GATHER STATISTICS ON TABLE ACCESS
THANK YOU . . . . .