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.

Similarly, the course is targeted to closely follow the official Oracle Database curriculum for certification.

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

Versions supported 12cR2, 18c and 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

Session 1: PL/SQL FUNDAMENTALS

  • 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

Session 2: PROGRAM LOGIC

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

Session 3: USING CURSORS

  • 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

Session 4: EXCEPTIONS AND NESTED BLOCKS

  • 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

Session 5: PL/SQL RECORDS AND INDEX-BY TABLES

  • 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

Session 7: PROCEDURES

  • 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
  • DBMS_OUTPUT
  • 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

Session 10: USING PL/SQL RECORDS AND TABLES IN PACKAGES

  • 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

Session 11: CURSOR VARIABLES (REF CURSORS)

  • 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

Session 12: MANAGING DEPENDENCIES

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

Oracle Program with PL/SQL Training Course

Session 13: NATIVE COMPILATION AND COMPILE-TIME WARNINGS

  • Introduction
  • Native Compilation
  • Automatic Recompilation
  • Automatic program Sublining
  • WHEN OTHERS ... THEN NULL
  • Data Dictionary Information
  • Compiler Warning Categories
  • Using the DBMS_WARNING Package

Session 14: ORACLE-SUPPLIED PACKAGES

  • Overview of Oracle-Supplied Packages
  • Using the DBMS_SQL Package
  • Using Native Dynamic SQL
  • The DBMS_METADATA Package
  • The UTL_MAIL Package
  • The DBMS_APPLICATION_INFO Package
  • The DBMS_UTILITY Package
  • Scheduling Jobs using the DBMS_SCHEDULER Package

Session 15: PL/SQL DESIGN CONSIDERATIONS

  • Invoker versus Definer™ Rights
  • Grant Roles to PL/SQL Packages and Programs
  • Programming Standards for Variables, Parameters and Constants
  • Standardise Constants with a Package
  • Standardise Exceptions with a Package
  • Write PL/SQL Code using Local Subprograms
  • Use NOCOPY Compiler Hint
  • Optimise Code with the PARALLEL ENABLE hint
  • Use the AUTONOMOUS TRANSACTION Pragma
Notes:
  • 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.

Examinations

This Oracle Program with PL/SQL course is an excellent choice for delegates preparing to take the following exam:

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

Attending these courses and studying the 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.

Requirements

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

Pre-Requisite Courses

Course Reviews

John is an excellent instructor, delivered the course in an engaging manner and was always clear and precise in his explanations.

Zachary - Defence - May 2024


Brian has been an excellent instructor/trainer. He has been informative, in-depth, and very patient when teaching us the advanced course on PL/SQL. I really loved how he gave us the room and comfortability to learn well and also, importantly, to take a few short breaks to help us recover into a peak-learning mode.

Akhil - Technical Consultant - Professional Services


The course contents included many concepts for advanced features that are usable in different situations. I would definitely recommend John as a really good instructor. He is very experienced, presented many useful examples and he is easily to follow up and understand.

Ergys - Software Developer - Defence


The course provided the exact amount of detail in each area for what I needed. I feel I have drawn a lot out of the course and this is massively improve the work that I carrying out in my day to day work.

Tim - Trainee Application Developer - Defence


Kevin is a greater instructor and very knowledgeable trainer in PL/SQL database development. he has a very good mind to debug coding problems given to him.

Brian - IT


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


Public Scheduled Events

Classroom & Live Virtual Instructor-Led Training

Duration: 5 days

Price: £2,495.00 exc. VAT 


Start Date Options Spaces  
20 Jan 2025
StayAhead Virtual Courses available 
Spaces Book Now 
17 Mar 2025
StayAhead Virtual Courses available 
Spaces Book Now 
12 May 2025
StayAhead Virtual Courses available 
Spaces Book Now 
14 Jul 2025
StayAhead Virtual Courses available 
Spaces Book Now 
15 Sep 2025
StayAhead Virtual Courses available 
Spaces Book Now 
10 Nov 2025
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

 
EDF
Amazon
American Express
Aviva
QA
BAE
University of Cambridge
Barnardo's
Scottish Government
Bauer
Bloomberg
BP
HSBC
DVLA
GlaxoSmithKline
Government Campus
Capita
Tui
NHS
Ordnance Survey
Ministry of Defence
Zurich Insurance Group
trainline
Vodafone
 
 



Our Course Curriculum

 
 
 
+44 (0)20 7600 6116
Enquiries@StayAhead.com
Copyright © 2024 StayAhead Training Ltd
Cookies   /   Privacy Policy