Oracle Program with PL/SQL

Course Code: OPPL

Duration: 5 days


Oracle Program with PL/SQL Course Overview

The Oracle Program with PL/SQL training course introduces the delegate to Oracle's PL/SQL programming language and provides practical experience in writing stand-alone programs, developing database triggers and implementing stored functions, procedures and packages. It also introduces some of the Oracle-supplied packages.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Versions supported 11gR2, 12cR2, 18c, 19c.

Course Objectives

To provide the skills needed to develop, write and maintain PL/SQL scripts, triggers, stored program units and packages.

Who will the Course Benefit?

Oracle database administrators, software development personnel and database support staff who need to write PL/SQL scripts and implement or maintain database triggers, program units and packages.

Course Information

Combination of the PL/SQL and PL/SQL Stored Program Units courses. Delegates may book this course as a one 5 Day course starting on a Monday or as two courses, the dates to be selected from the PL/SQL and PL/SQL Stored Program Units scheduled dates.

Skills Gained

The delegate will learn and acquire skills as follows:

  • Writing and running PL/SQL programs from SQL*Plus or SQL Developer
  • Declaring and using variables and constants
  • Assigning and manipulating values
  • Using SQL statements within PL/SQL
  • Implementing conditional execution and loop constructs
  • Declaring and using cursors with and without parameters
  • Updating data with cursors
  • Trapping and handling errors and exceptions in code
  • Implementing nested and labelled loops and blocks
  • Raising exceptions
  • Handling PL/SQL records and Index-By tables
  • Using PL/SQL Index-By table built-in functions
  • Implementing various types of trigger
  • Creating, managing and invoking stored procedures
  • Creating, managing and executing stored functions
  • Developing and using packages
  • Using package features and constructs effectively
  • Wrapping packages
  • Using Cursor Variables
  • Using records and Index-By tables or associative arrays in packages
  • Implementing Bulk Binding and Bulk Collecting techniques
  • Managing program unit dependencies
  • Implementing Native Compilation and Compile-time Warnings
  • Implementing Native Dynamic SQL
  • Using a variety of Oracle-supplied packages

Oracle Program with PL/SQL Training Course

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions


  • What is PL/SQL?
  • Basic Elements
  • Variables and Constants
  • Data Types
  • Initializing Variables and Assigning Values
  • Using SQL Statements in Code
  • Generating Output to SQL or SQL Developer


  • IF THEN ELSE Statements
  • CASE Expressions
  • The Basic Loop Construct
  • WHILE and FOR Loops
  • Nested and Labelled Loops
  • The GOTO Statement
  • The CONTINUE Statement


  • What is a Cursor?
  • Implicit and Explicit Cursors
  • Cursor Operations
  • Declaring, Opening and Closing Cursors
  • Fetching Rows
  • Status Checking
  • Using Cursors FOR UPDATE
  • The Cursor FOR Loop
  • Parameterised Cursors

Oracle Program with PL/SQL Training Course


  • The EXCEPTION Section
  • Types of Exception
  • Handling Named System-Raised Exceptions
  • Handling Unnamed System-Raised Exceptions
  • User-Declared Exceptions and Application Errors
  • When others then Null
  • Nested and Labelled Blocks
  • Propagation of Exceptions
  • Scope of Variables and Cursors


  • Declaring Record Types
  • Handling PL/SQL Records
  • Nested Records
  • Declaring PL/SQL Index-By Tables or Associative Arrays
  • PL/SQL Table Built In Functions
  • Manipulating PL/SQL Tables or Associative Arrays

Oracle Program with PL/SQL Training Course

Session 6: TRIGGERS

  • DML Triggers
  • The CREATE TRIGGER Statement
  • Writing Trigger Code
  • INSTEAD OF Triggers
  • Calling Procedures from Triggers
  • Coding Restrictions
  • System Event and DDL Triggers
  • Attribute Functions
  • Compound Triggers
  • Create Trigger Follows Clause
  • Managing Triggers
  • Privileges required for Triggers
  • Dictionary Information Concerning triggers


  • What is a Procedure?
  • The CREATE PROCEDURE Statement
  • Procedure Parameters
  • Invoking Procedures
  • Local Subprograms
  • Named Association Parameter Passing
  • Definer's Right and Invoker's Rights
  • Autonomous Transactions
  • Managing Procedures
  • Privileges Required for Procedures
  • Dictionary Information Concerning Procedures
  • The Call Statement

Session 8: FUNCTIONS

  • What is a Function?
  • The CREATE FUNCTION Statement
  • Executing Functions
  • Invoker's Rights
  • Autonomous Transactions
  • Using Functions in SQL Statements
  • Deterministic and Parallel-Enabled Functions
  • Function Result Cache
  • Managing Functions
  • Privileges Required for Functions
  • Dictionary Information Concerning Functions

Oracle Program with PL/SQL Training Course

Session 9: PACKAGES

  • What is a Package?
  • Public and Private Components
  • Creating a Package
  • Example Package
  • Persistent States
  • One-time-only Procedures
  • Overloading
  • Purity Level Checking
  • Forward Declarations
  • Wrapping Packages
  • Managing Packages
  • Privileges Required for Packages
  • Dictionary Information Concerning Packages Features


  • Overview of PL/SQL Records, Index-by Tables and Associative Arrays
  • Using PL/SQL Records and Tables in Packages
  • Table Built-In Functions
  • The NOCOPY Hint
  • Bulk Collection
  • Bulk Binding DML Statements


  • Declare Cursor Variables
  • Use Cursor Variables
  • Open and Close Cursor Variables
  • Fetch Rows
  • Cursor Variable Attributes
  • Pass Cursor Variables as Parameters
  • Open and Close Cursor Variables
  • Refcursor Datatype


  • Dependent and Referenced Objects
  • Invalidation and Recompilation
  • Local and Remote Dependencies
  • Recompilation Considerations

Oracle Program with PL/SQL Training Course


  • Introduction
  • Native Compilation
  • Automatic Recompilation
  • Automatic program Sublining
  • Data Dictionary Information
  • Compiler Warning Categories
  • Using the DBMS_WARNING Package


  • Overview of Oracle-Supplied Packages
  • Using the DBMS_SQL Package
  • Using Native Dynamic SQL
  • The DBMS_METADATA Package
  • The UTL_MAIL Package
  • The DBMS_UTILITY Package
  • Scheduling Jobs using the DBMS_SCHEDULER Package
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.


The Oracle Program with PL/SQL course will teach the major topics required for the delegate to work towards achieving the following exam:

  • Oracle Database: Program with PL/SQL 1Z0-149

Attending this course will help delegates gain many of the skills and product knowledge requirements as outlined in the exam objectives. Studying this course and its associated reference materials can form part of the preparation to achieve certification. Experience, practice, self-study and aptitude are also key requirements for exam success.

Before taking any exam, ensure you have the recommended experience. The Oracle website lists all exam requirements and these are updated regularly.

Exams are not included as part of the course.


A working knowledge of Oracle SQL or SQL Developer is required along with practical experience in writing SQL statements. This can be obtained by attendance on the pre-requisite courses. Some previous programming experience will also prove advantageous.

Pre-Requisite Courses

Course Reviews

The trainer is a great mentor who uses the training materials to supplement his teaching methods. He demonstrated and created worked examples in front of us, showing us how the code fits together to achieve the task at hand. His explanations were always clear. 10/10 would recommend.

Hayden - Applications Developer - IT

An enjoyable course. The pace and balance between theory, exercises and breaks was spot on. The instructors were very knowledgeable and patient. A good week.

Alan - Computer Programmer - Utilities

The trainers were very thorough and went the extra mile to explain the concepts and supply additional materials. I found them very dedicated to the work, which helped create the right learning atmosphere.

Isaac - Data Analyst - Retail / Hire

Excellent course, very detailed. The instructor paced the course over the 5 days to ensure I got the most out of the course for my specific needs. I was encouraged to ask questions and raise my hand when stuck. I would highly recommend this course to others.

Lee - Reporting, Quality and Analyst Manager - Insurance

Instructors were knowledgeable and helpful and the course content was useful and appropriate. The course will assist me with my job.

William - Trainee Developer - Legal

A fantastic instructor who cares and is clear with the content materials and yet considers everyone at a pace of which is comfortable for that individual. Helped in great depth with all of the course content by going through each section at a good pace and demonstrating with practical exercises. I really learned a lot this week and enjoyed my experience at Stay Ahead Training - I'm very pleased. Thanks very much.

Michael - Placement Student - Database Programmer - Government

Public Scheduled Events

Classroom & Live Virtual Instructor-Led Training

Duration: 5 days

Price: £2,120.00 exc. VAT 

Start Date Options Spaces  
20 Dec 2021
StayAhead Virtual Courses available 
Spaces Book Now 
24 Jan 2022
StayAhead Virtual Courses available 
Spaces Book Now 
14 Mar 2022
StayAhead Virtual Courses available 
Spaces Book Now 
09 May 2022
StayAhead Virtual Courses available 
Spaces Book Now 
04 Jul 2022
StayAhead Virtual Courses available 
Spaces Book Now 
22 Aug 2022
StayAhead Virtual Courses available 
Spaces Book Now 
17 Oct 2022
StayAhead Virtual Courses available 
Spaces Book Now 

Live Virtual Classroom

Join live instructor-led classroom training from the comfort of your home or office.
All the convenience and benefits of the classroom experience without the hassle and costs of travel and accommodation.

Our Customers Include

missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image
missing image

Our Course Curriculum

Facebook LinkedIn Twitter Instagram E-Mail
+44 (0)20 7600 6116
Copyright © 2021 StayAhead Training Ltd
Cookies   /   Privacy Policy