1. Introduction to PL/SQL
History of PL/SQL
Features and Benefits of PL/SQL
Relationship of PL/SQL to SQL
PL/SQL Development Tools
Native Compilation
2. PL/SQL Basics
PL/SQL Anonymous Block Structure, Lexical Units, Variable Declarations, Types, and Records
SQL*Plus Development Environment
Displaying Messages with DBMS_OUTPUT
Object Naming Rules
PL/SQL Style Guide and Coding Conventions
3. Working with Database Data
SELECTing Single Rows
Declaring Variable Datatypes Dynamically
Modifying Database Data (DML)
Transaction Control Statements
4. Selecting Multiple Rows Using Cursors
Declaring Explicit Cursors
Implicit Cursor Attributes
Using the Cursor FOR LOOP
5. Exception Handling
Writing an Exception Handler Section
Handling Predefined Exceptions
Controlling Exception Processing - Exception Propagation
RAISE_APPLICATON_ERROR Use
Preventing Unhandled Exceptions
Exception Propagation
Using PRAGMA EXCEPTION_INIT
6. Advanced Cursors
Cursor Parameters
Taking Advantage of a Weak Cursor Variable
OPEN FOR, FETCH, and CLOSE
Using the FOR UPDATE Clause
Using PL/SQL Collections and Nested Collections
7. Introduction to Procedures and Functions
Creating Stored PL/SQL Objects, Procedures, Functions
8. Creating Packages
Creating Package Specifications and Bodies
One Time Only Procedures
Persistent State
9. Creating DML Triggers
Triggering Events
Trigger Behavior
Correlation Identifiers
Multi-Statement Triggers
Trigger Firing Behavior
Enabling/Disabling Triggers
10. Advanced Packages
Initializing Variables
Module Overloading
Recursion
Purity Levels
11. Advanced Triggers