Chapter 13 Solutions
Chapter 13 Solutions
Chapter 13 Solutions
2010
Tema 5 – PL/SQL
1. What are triggers commonly used for in the database?
Triggers allow specified actions to be performed automatically within the database, without
having to write extra application code.
3. What is the most important thing to check before creating a database trigger?
The recursive and cascading effects.
4. When creating a DML statement trigger on a table, what are the components that you must
define?
5. A business rule states that each time one or more employees are added to the employees
table, an audit record must also be created. This rule could be enforced using application
code, but we have decided to enforce it using a DML statement trigger.
A. Create an audit table by executing the following SQL statement:
B. Create a statement level trigger that inserts a row into the audit table immediately after one
or more rows are added to the employees_dup table. The audit table row should contain value
“Inserting” in the action column. The other two columns should have their default values.
C. Test your trigger by inserting a row into employees, then querying the audit table to see
that it contains a row.
Select * from audit_table;
D. Make sure the trigger does not fire with a DELETE by deleting the employee you just
entered. Recheck the audit_table table to make sure that there is not another new row.
Informatica II - Sursa Oracle Academy
2010
6. What is the difference between a statement trigger and a row trigger?
A statement trigger fires one time for the whole DML statement and a row trigger fires
once for each row affected by the DML statement.
7. A row trigger fires at least once even if no rows are affected. True or false?
true.
8. Imagine that the following four DML triggers have been defined on the employees table: a
BEFORE INSERT statement trigger, a BEFORE UPDATE statement trigger, an AFTER
UPDATE row trigger, and an AFTER DELETE statement trigger. An UPDATE statement
updates three employee rows. How many times will each trigger fire?
1 time the before update trigger, 3 times the after update row trigger, and 0 time the delete
and insert statement trigger.