PL/SQL may be considered as one of the basic skill sets required for any Oracle professional, nearly as important as the SQL language itself.


This course begins with an explanation of the intent and usage of the PL/SQL programming language for database applications. Important reasons why one should incorporate PL/SQL modules within the application architecture right from the initial design and planning phase are presented.

Next one learns how to begin building executable PL/SQL program units. One learns about each of the major segments of a working program and how these interact with each other during program execution, including the important error or exception handling capabilities of the language. The final section goes beyond the basics and begins to explore advanced topics that will be useful later in the Oracle PL/SQL developer course series. One learns techniques and features that allow modular and reusable programs to be developed, increasing productivity and maintainability of database applications.


The target audience for this course is all Oracle professionals. Among the specific groups for whom this course will be helpful are:

  • Application designers and database developers
  • Database administrators
  • Web server administrators


Either of the Oracle Database 12c: SQL Fundamentals (Levels I & II) or Oracle Database 12c: SQL Complete Library (Levels I, II, & III) courses are recommended prerequisites for this course.


3 Days

Outline for Oracle Database 12c: PL/SQL I - Introduction Training

1. Selection & Setup Of The Database Interface

  • Considering Available Tools
  • Selecting The Appropriate Tool
  • Oracle NET Database Connections
  • Oracle PAAS Database Connections
  • Setup SQL Developer
  • Setup SQL*PLUS
  • Setup JDeveloper

2. About BIND & SUBSTITUTION Variables

  • Using SQL Developer
  • Using SQL*PLUS

3. Choosing A Database Programming Language

  • What Is Database Programming?
  • PL/SQL Performance Advantages
  • Integration With Other Languages PL/SQL Language Fundamentals
  • PL/SQL Program Structure
  • Language Syntax Rules
  • Embedding SQL
  • Writing Readable Code
  • Generating Database Output
  • SQL*PLUS Input Of A Program Block

4. DECLARE Section

  • About The DECLARE Section
  • DECLARE Primitive Types
  • Declaration Options
  • Data Dictionary Integration
  • %TYPE
  • Declare Simple User-­‐Defined Types
  • TYPE ... TABLE
  • Extended User-­‐Defined Types

5. BEGIN  Section

  • About The BEGIN Section
  • Manipulating Program Data
  • Logic Control & Branching
  • GOTO
  • LOOP
  • IF-­‐THEN-­‐ELSE
  • CASE

6. Exception Section

  • About The EXCEPTION Section
  • Isolating The Specific EXCEPTION
  • SQL%ROWCOUNT & SELECT...INTO Beyond The Basics:

7. Explicit Cursors

  • About Explicit Cursors
  • Extended Cursor Techniques
  • FOR UPDATE OF Clause
  • Using FOR…LOOP Cursors

8. Beyond The Basics: Nested Blocks

9. Beyond The Basics: DECLARED Subprograms

  • Using DECLARED Subprograms
  • DECLARED Procedure
  • DECLARED Function