OSPU – Oracle PL/SQL Stored Program Units

Enquire/Book this course

  • Code: OSPU
  • Duration: 3 Days
  • Price per delegate:
    £1,495.00 +VAT
Print this page

Trained over 60000 delegates

Course delivered by industry expert instructors

Highly competitive pricing

Course Description

The Oracle PL/SQL Stored Program Units course provides practical experience in developing and writing triggers, 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.

Target Student

Oracle database administrators and software development personnel who need to write new or maintain existing, PL/SQL triggers, program units and packages.

Practical experience of Oracle SQL and of using SQL*Plus or SQL Developer and a good working knowledge of the fundamentals of the Oracle PL/SQL programming language are required.

Pre-requisites

Practical experience of Oracle SQL*Plus or SQL Developer and a good working knowledge of the fundamentals of the Oracle PL/SQL programming language is required. This can be gained by attendance on the pre-requisite courses.

Course Objectives

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

Course Content

Course Introduction

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

Session 1: 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 2: PROCEDURES

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

Session 3: 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

Session 4: 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

Session 5: 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 6: 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
  • Refcursor Datatype

Session 7: MANAGING DEPENDENCIES

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

Session 8: 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 9: 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 10: 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
   

Dates & Locations

Location Start Date Spaces Duration Price Book Enquire
Virtual Class 16/07/25 09:00 3 Days £1,495.00
Virtual Class 17/09/25 09:00 3 Days £1,495.00
Virtual Class 12/11/25 09:00 3 Days £1,495.00
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.