www.oracle.
com/academy
Database Programming with PL/SQL
Overview
This course of study introduces students to PL/SQL, Oracle’s procedural extension language for SQL and the Oracle relational
database. Participants explore the differences between SQL and PL/SQL and explore how PL/SQL is used to extend and automate
SQL in administering the Oracle database. Oracle Application Express (APEX) is utilized to provide practical, hands-on, engaging
activities. Leveraging project-based learning techniques, students will create and work with projects which challenge them to enhance
the SQL of a database solution for a business or organization.
Duration
 • Recommended total course time : 180 Hours*
 • Professional education credit hours for educators who complete Oracle Academy training: 60
 * Total course time includes instruction, self-study/homework, practices, projects and assessment
Target Audiences
Educators
 • Technical, vocational or 2- or 4-year college and university faculty members who teach computer science, database
 administration , information communications technology (ICT), or a related subject
 • Secondary school teachers who teach computer science, ICT, or a related subject
Students
 • Students who wish to learn techniques beyond SQL to execute procedural logic on a database
Prerequisites
Required:
 • High level knowledge of database design concepts
 • High level knowledge of programming with SQL
Suggested
 • Oracle Academy Course – Database Design and Programming with SQL
Suggested Next Courses
 • Advanced Programming with PL/SQL
 • Oracle Application Express Developer
Lesson-by-Lesson Topics
Fundamentals
 • Introduction to PL/SQL
 • Benefits of PL/SQL
 • Creating PL/SQL blocks
Defining Variables and Datatypes
 • Using variables in PL/SQL
 • Recognizing PL/SQL lexical units
 • Recognizing data types
 • Using scalar data types
 • Writing PL/SQL executable statements
 • Nested blocks and variable scope
 • Good programming practices
 Rev: OA_DB_Prog_PLSQL_06.26.15
Using SQL in PL/SQL
 • Review of SQL DML
 • Retrieving data in PL/SQL
 • Manipulating data in PL/SQL
 • Using transaction control statements
Program Structures to Control Execution Flow
 • Conditional control: IF statements
 • Conditional control: CASE statements
 • Iterative control: basic loops
 • Iterative control: WHILE and FOR loops
 • Iterative control: nested loops
Using Cursors and Parameters
 • Introduction to explicit cursors
 • Using explicit cursor attributes
 • Cursor FOR loops
 • Cursors with parameters
 • Using cursors for UPDATE
 • Using multiple cursors
Using Composite Datatypes
 • User-defined records
 • Indexing tables of records
Exception Handling
 • Handling exceptions
 • Trapping Oracle server exceptions
 • Trapping user-defined exceptions
 • Recognizing the scope of exceptions
Using and Managing Procedures
 • Creating procedures
 • Using parameters in procedures
 • Passing parameters
Using and Managing Functions
 • Creating functions
 • Using functions in SQL statements
 • Review of the data dictionary
 • Managing procedures and functions
 • Review of object privileges
 • Using invoker's rights and autonomous transactions
Using and Managing Packages
 • Creating packages
 • Managing package concepts
 • Advanced package concepts
Getting the Best out of Packages
 • Persistent state of package variables
 • Using Oracle-supplied packages
Improving PL/SQL Performance
 • Using dynamic SQL
 • Improving PL/SQL performance
Using and Managing Triggers
 • Introduction to triggers
 • Creating DML triggers, part I
 • Creating DML triggers, part II
 • Creating DDL and database event triggers
 • Managing triggers
Recognizing and Managing Dependencies
 • Introduction to dependencies
 • Understanding remote dependencies
Using the PL/SQL Compiler
 • Using PL/SQL initialization parameters
 • Displaying compiler warning messages
 • Using conditional compilation
 • Hiding your source code
To search and register for events scheduled in your area, visit the Academy events calendar.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.