Chapter 16. Triggers

Beginner

Q:

16-1.

A trigger is a block of code (whether in PL/SQL, Java, or C) that fires, or executes, in response to a specific event.

Q:

16-2.

The statements are:

  1. True. You can create a trigger in response to most Data Manipulation Language (DML) operations.

  2. False. There is no AFTER EXECUTION.

  3. True. Oracle8i allows you to trap “user-level” events such as logons.

  4. True. Oracle8i allows you to create triggers that fire when Data Definition Language (DDL) statements are executed.

Q:

16-3.

A trigger executes implicitly in response to an event, such as an update to a table. A procedure executes explicitly at the request of a user (or a call from another program).

Q:

16-4.

A trigger can have one of two modes: ENABLED (meaning that it fires normally) and DISABLED (meaning that it does not fire, even if its triggering event occurs).

Q:

16-5.

(b). A trigger that causes other triggers to fire is called a cascade.

Q:

16-6.

Statement-level triggers fire only one time per statement, and row-level triggers fire for each row that is affected by the DML statement.

Q:

16-7.

The WHEN clause causes a trigger to fire only when a specific set of user-defined conditions are met.

Q:

16-8.

Trigger (b) correctly populates the employee_id column. Trigger (a), which attempts to set the sequence number using an INSERT statement, illustrates a fairly common mistake. While Trigger (a) compiles successfully, it will probably produce the following error when it’s executed:

ORA-00036: Maximum number of recursive sql ...

Get Oracle PL/SQL Programming: A Developer's Workbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.