Oracle Certified Professional (OCP) in Developer.


01. Structure Query Language (SQL). Duration: 24-Hours
02. Procedural Language (PL/SQL). Duration: 24-Hours
03. Oracle Application Express Duration: 24-Hours
Total Duration: 72-Hours
01. Structure Query Language (SQL)
What You Will Learn.
This Oracle Database 12c/19c: Introduction to SQL training helps you write subqueries, combine
multiple queries into a single query using SET operators and report aggregated data using group
functions. Learn this and more through hands-on exercises.
Benefits to You
Ensure fast, reliable, secure and easy to manage performance. Optimize database workloads,
lower IT costs and deliver a higher quality of service by enabling consolidation onto database
Structure Query Language (SQL). Course Topics
• Course Objectives, Course Agenda and Appendixes Used in this Course
• Overview of Oracle Database 12c/19c and Related Products
• Overview of relational database management concepts and terminologies
• Introduction to SQL and its development environments
• What is Oracle SQL Developer?
• Starting SQL*Plus from Oracle SQL Developer
• The Human Resource (HR) Schema
• Tables used in the Course
Retrieving Data using the SQL SELECT Statement
• Capabilities of the SELECT statement
• Arithmetic expressions and NULL values in the SELECT statement
• Column aliases
• Use of concatenation operator, literal character strings, alternative quote operator, and the
DISTINCT keyword
• Use of the DESCRIBE command

Restricting and Sorting Data
• Limiting the Rows
• Rules of precedence for operators in an expression
• Substitution Variables
• Using the DEFINE and VERIFY command
Using Single-Row Functions to Customize Output
• Describe the differences between single row and multiple row functions
• Manipulate strings with character function in the SELECT and WHERE clauses
• Manipulate numbers with the ROUND, TRUNC and MOD functions
• Perform arithmetic with date data
• Manipulate dates with the date functions
Using Conversion Functions and Conditional Expressions
• Describe implicit and explicit data type conversion
• Use the TO_CHAR, TO_NUMBER, and TO_DATE conversion functions
• Nest multiple functions
• Apply the NVL, NULLIF, and COALESCE functions to data
• Use conditional IF THEN ELSE logic in a SELECT statement
Reporting Aggregated Data Using the Group Functions
• Group Functions
• Creating Groups of Data
• Restricting Group Results
Displaying Data from Multiple Tables Using Joins
• Introduction to JOINS
• Types of Joins
• Natural join
• Self-join
• Non equijoins
• OUTER join
Using Subqueries to Solve Queries
• Introduction to Subqueries
• Single Row Subqueries
• Multiple Row Subqueries

Using the SET Operators
• Set Operators
• UNION and UNION ALL operator
• INTERSECT operator
• MINUS operator
• Matching the SELECT statements
• Using ORDER BY clause in set operations
Managing Tables using DML statements
• Data Manipulation Language
• Database Transactions
Introduction to Data Definition Language
• Data Definition Language
Introduction to Data Dictionary Views
• Introduction to Data Dictionary
• Describe the Data Dictionary Structure
• Using the Data Dictionary views
• Querying the Data Dictionary Views
Creating Sequences, Synonyms, Indexes
• Overview of sequences
• Overview of synonyms
• Overview of indexes
Creating Views
• Overview of views
Managing Schema Objects
• Managing constraints
• Creating and using temporary tables
• Creating and using external tables
Retrieving Data by Using Subqueries
• Retrieving Data by Using a Subquery as Source
• Working with Multiple-Column subqueries
• Using Scalar subqueries in SQL

• Correlated Subqueries
• Working with the WITH clause
Manipulating Data by Using Subqueries
• Using Subqueries to Manipulate Data
• Inserting by Using a Subquery as a Target
• Using the WITH CHECK OPTION Keyword on DML Statements
• Using Correlated Subqueries to Update and Delete rows
Controlling User Access
• System privileges
• Creating a role
• Object privileges
• Revoking object privileges
Manipulating Data
• Overview of the Explicit Default Feature
• Using multitable INSERTs
• Using the MERGE statement
• Performing flashback operations
• Tracking Changes in Data
Managing Data in Different Time Zones
• Working with INTERVAL data types


02. Procedural Language (PL/SQL).
What You Will Learn...
This Oracle Database: Program with PL/SQL training starts with an introduction to PL/SQL and
then explores the benefits of this powerful programming language. Through hands-on instruction
from expert Oracle instructors, you'll learn to develop stored procedures, functions, packages and

Learn To:
• Conditionally control code flow (loops, control structures).
• Create stored procedures and functions.
• Use PL/SQL packages to group and contain related constructs.
• Create triggers to solve business challenges.
• Use some of the Oracle supplied PL/SQL packages to generate screen output and file
• Create custom packages for applications.
• Write Dynamic SQL code for applications.
Procedural Language (PL/SQL). Course Topics
• Course Objectives
• Course Agenda
• Describe the Human Resources (HR) Schema
• PL/SQL development environments available in this course
• Introduction to SQL Developer
Introduction to PL/SQL
• Overview of PL/SQL
• Identify the benefits of PL/SQL Subprograms
• Overview of the types of PL/SQL blocks
• Create a Simple Anonymous Block
• How to generate output from a PL/SQL Block?
Declare PL/SQL Variables
• List the different Types of Identifiers in a PL/SQL subprogram
• Usage of the Declarative Section to Define Identifiers
• Use variables to store data
• Identify Scalar Data Types
• The %TYPE Attribute
• What are Bind Variables?
• Sequences in PL/SQL Expressions
Write Anonymous PL/SQL Blocks
• Describe Basic PL/SQL Block Syntax Guidelines
• Learn to Comment the Code
• Deployment of SQL Functions in PL/SQL
• How to convert Data Types?
• Describe Nested Blocks
• Identify the Operators in PL/SQL

SQL Statements in a PL/SQL block
• Invoke SELECT Statements in PL/SQL
• Retrieve Data in PL/SQL
• SQL Cursor concept
• Avoid Errors by using Naming Conventions when using Retrieval and DML Statements
• Data Manipulation in the Server using PL/SQL
• Understand the SQL Cursor concept
• Use SQL Cursor Attributes to Obtain Feedback on DML
• Save and Discard Transactions
Control Structures
• Conditional processing using IF Statements
• Conditional processing using CASE Statements
• Describe simple Loop Statement
• Describe While Loop Statement
• Describe For Loop Statement
• Use the Continue Statement
Composite Data Types
• Use PL/SQL Records
• The %ROWTYPE Attribute
• Insert and Update with PL/SQL Records
• INDEX BY Tables
• Examine INDEX BY Table Methods
• Use INDEX BY Table of Records
Explicit Cursors
• What are Explicit Cursors?
• Declare the Cursor
• Open the Cursor
• Fetch data from the Cursor
• Close the Cursor
• Cursor FOR loop
• The %NOTFOUND and %ROWCOUNT Attributes
• Describe the FOR-UPDATE Clause and WHERE CURRENT Clause
Exception Handling
• Understand Exceptions
• Handle Exceptions with PL/SQL
• Trap Predefined Oracle Server Errors
• Trap Non-Predefined Oracle Server Errors
• Trap User-Defined Exceptions

• Propagate Exceptions
Stored Procedures
• Create a Modularized and Layered Subprogram Design
• Modularize Development With PL/SQL Blocks
• Understand the PL/SQL Execution Environment
• List the benefits of using PL/SQL Subprograms
• List the differences between Anonymous Blocks and Subprograms
• Create, Call, and Remove Stored Procedures
• Implement Procedures Parameters and Parameters Modes
• View Procedure Information
Stored Functions
• Create, Call, and Remove a Stored Function
• Identify the advantages of using Stored Functions
• Identify the steps to create a stored function
• Invoke User-Defined Functions in SQL Statements
• Restrictions when calling Functions
• Control side effects when calling Functions
• View Functions Information
Debugging Subprograms
• How to debug Functions and Procedures?
• Debugging through SQL Developer
• Listing the advantages of Packages
• Describe Packages
• What are the components of a Package?
• Develop a Package
• How to enable visibility of a Packages Components?
• Create the Package Specification and Body using the SQL CREATE Statement and SQL Developer
• Invoke the Package Constructs
• View the PL/SQL Source Code using the Data Dictionary
Deploying Packages
• Overloading Subprograms in PL/SQL
• Use the STANDARD Package
• Use Forward Declarations to solve Illegal Procedure Reference
• Implement Package Functions in SQL and Restrictions
• Persistent State of Packages

• Persistent State of a Package Cursor
• Control side effects of PL/SQL Subprograms
• Invoke PL/SQL Tables of Records in Packages
Implement Oracle-Supplied Packages in Application Development
• What are Oracle-Supplied Packages?
• Examples of some of the Oracle-Supplied Packages
• How does the DBMS_OUTPUT Package work?
• Use the UTL_FILE Package to Interact with Operating System Files
• Invoke the UTL_MAIL Package
• Write UTL_MAIL Subprograms
Dynamic SQL
• The Execution Flow of SQL
• What is Dynamic SQL?
• Declare Cursor Variables
• Dynamically Executing a PL/SQL Block
• Configure Native Dynamic SQL to Compile PL/SQL Code
• How to invoke DBMS_SQL Package?
• Implement DBMS_SQL with a Parameterized DML Statement
• Dynamic SQL Functional Completeness
Design Considerations for PL/SQL Code
• Standardize Constants and Exceptions
• Understand Local Subprograms
• Write Autonomous Transactions
• Implement the NOCOPY Compiler Hint
• Invoke the PARALLEL_ENABLE Hint
• The Cross-Session PL/SQL Function Result Cache
• The DETERMINISTIC Clause with Functions
• Usage of Bulk Binding to Improve Performance
• Describe Triggers
• Identify the Trigger Event Types and Body
• Business Application Scenarios for Implementing Triggers
• Create DML Triggers using the CREATE TRIGGER Statement and SQL Developer
• Identify the Trigger Event Types, Body, and Firing (Timing)
• Differences between Statement Level Triggers and Row Level Triggers
• Create Instead of and Disabled Triggers
• How to Manage, Test and Remove Triggers?
Creating Compound, DDL, and Event Database Triggers

• What are Compound Triggers?
• Identify the Timing-Point Sections of a Table Compound Trigger
• Understand the Compound Trigger Structure for Tables and Views
• Implement a Compound Trigger to Resolve the Mutating Table Error
• Comparison of Database Triggers to Stored Procedures
• Create Triggers on DDL Statements
• Create Database-Event and System-Events Triggers
• System Privileges Required to Manage Triggers
PL/SQL Compiler
• What is the PL/SQL Compiler?
• Describe the Initialization Parameters for PL/SQL Compilation
• List the new PL/SQL Compile Time Warnings
• Overview of PL/SQL Compile Time Warnings for Subprograms
• List the benefits of Compiler Warnings
• List the PL/SQL Compile Time Warning Messages Categories
• Setting the Warning Messages Levels: Using SQL Developer, PLSQL_WARNINGS Initialization
Parameter, and the DBMS_WARNING Package Subprograms
• View Compiler Warnings: Using SQL Developer, SQL*Plus, or the Data Dictionary Views
Manage Dependencies
• Overview of Schema Object Dependencies
• Query Direct Object Dependencies using the USER_DEPENDENCIES View
• Query an Objects Status
• Invalidation of Dependent Objects
• Display the Direct and Indirect Dependencies
• Fine-Grained Dependency Management in Oracle Database 12c
• Understand Remote Dependencies
• Recompile a PL/SQL Program Unit

03. Oracle Application Express (Apex)

Learn To:
• Create database applications for both desktop and mobile interfaces.
• Add various components like new pages, reports regions, items and other components required
to enhance an application.
• Create processes, validations, computations and dynamic actions within an application.
• Change the look and feel of your web applications using built-in themes and templates.
• Create and use shared components for an application.
• Understand managing and using session state variables.
• Implement security in an application.
• Manage application navigation using shared components.

• Improvise your application by creating calendars, charts and trees.
• Extend your application by adding advanced features like printing, BLOB object, data loading,
site and more.
• Enable feedback mechanisms from the application and tracking the feedback from Oracle APEX.
Benefits to You
When you walk away from this course, you will have developed the knowledge and skills to
create database applications using desktop and mobile interfaces. You'll learn how to enhance
your application by adding various components like reports, forms, items, dynamic actions,
calendars, charts, plug-ins and other shared components required in an application.
Suggested Prerequisite
• Basic knowledge of SQL, PL/SQL, and HTML
Required Prerequisite
• Oracle Database: SQL Workshop I
• Oracle Database: SQL and PL/SQL Fundamentals
• Application Developers
• Database Administrators
• Database Administrators
• System Analysts
• System Analysts
• System Analysts
• Project Manager
• Project Manager
• Forms Developer
• Forms Developer
• Business Intelligence Developer
• Web Administrator
• Web Administrator
Course Objectives
• Create Pages and Regions in an Application
• Log in to an Oracle Application Express Workspace
• Create Page and Application Items and Buttons
• Create Page Processes and Validations
• Implement Security

• Manage Application Navigation
• Extend an application
• Create Themes and Templates
• Create Shared Components such as Tabs, Lists, and Breadcrumbs
• Add Dynamic Actions
• Import and Use Plug-Ins
• Create and Use Calendars and Trees
• Utilize Application Express Printing methods
• Manage Application feedback
• Create Reports and Forms in an application
• Create and Run Database Applications using desktop and mobile interfaces
Course Topics
Course Overview
• Course Environment: Products Installed
• Introducing Course Persona: Jack
• Course Goals
• Course Outline
• Course Environment: Workspace Details
• Order Management Database Application (OMDA)
• Accessing the Labs Directory
Introducing Oracle Application Express
• Application Express Overview
• Using Application Express
• Application Express Terms and Concepts
Creating a Desktop and Mobile Database Application
• Application Builder Overview
• Creating Mobile Application
• Introducing Database Applications
• Creating Database Applications
Working with Reports for Desktop Application
• Using Interactive Reports
• Using Classic Reports
• Introducing Reports
• Creating and Customizing an Interactive Report
Working with Reports for Mobile Application
• Creating a Reflow Report

• Creating Reports for a Mobile Application
• Creating Column Toggle Report
Creating Forms
• Creating Forms
• Creating a Form in a Mobile Application
• Modifying Forms
• Using Forms
Working with Pages and Regions
• Working with Page Regions
• Introducing Page Definition
• Working with Pages
Adding Items and Buttons
• Creating List of Value (LOV) Type of Items
• Using Buttons
• Introducing Items
• Using Items
Understanding Session State
• Using Session State in Oracle Application Express
• Understanding Session State in Oracle Application Express
Including Page Processing
• Introducing Page Processing
• Including Computations
• Including Branches
• Including Processes
• Including Validations
Validating and Debugging Your Application
• Using the Advisor
• Managing Your Attribute Dictionary
• Debugging Your Application
Adding Shared Components That Aid Navigation
• Introducing Shared Components
• Creating a Navigational Bar
• Creating Lists

• Creating Tabs
• Creating Breadcrumbs
Working with Themes, Templates and Files
• Using Templates
• Using Files
• Using Themes
Implementing Security
• Using Authorization Schemes
• Using Authentication Schemes
• Using Session State Protection
• Securing an Application
Managing Application Navigation
• Enforcing Authorization on Your Site Map
• Building a Site Map
• Building a Hierarchical List with Images
• Linking Interactive Reports using a Declarative Filter
Extending Your Application
• Sending Email from an Application
• Creating Data Load Wizard Pages
• Creating an Upload and Download Page
• Adding BLOB Data to an Existing Application
Creating and Editing Charts
• Creating and Using Charts
• Enhanced Charting Examples
Adding Calendars and Trees
• Using Calendars
• Using Trees
Using Dynamic Actions and Plug-Ins
• Using Dynamic Actions
• Using Plug-Ins

Utilizing Application Express Printing
• Printing a Standard Report with Derived Output
• Creating a PDF Report with Multiple Queries

Managing Application Feedback
• What is Team Development?
• Managing Feedback

Course Reviews - 0

Submit Reviews

Select Course Pricing Package

Subscribe to our newsletter to receive all our updates!