Call: 080-23377433





This PL/SQL application programming workshop focuses on PL/SQL definitions, semantics, constructs, etc. The training goals and objectives are mainly realized through extensive use of real-world examples, exercises and hands-on computer-based labs.



At the end of Oracle PL/SQL Application Programming, training course, the participant will be competent to code PL/SQL applications incorporating PL/SQL components and constructs shown under 'Core Topics' in the detailed outline.


Suggested Audience –   College Students and Software Developers/Programmers

Good to Have

  • Knowledge SQL

Questions?  Call back



Declaring Variables --3hrs
  • PL/SQL Block Structure
  • Executing Statements and PL/SQL Blocks
  • Block Types
  • Program Constructs
  • Use of Variables
  • Handling Variables in PL/SQL
  • Types of Variables
  • Declaring PL/SQL Variables
  • Guidelines for Declaring PL/SQL Variables
  • Naming Rules
  • Variable Initialization and Keywords
  • Scalar Data Types
  • Base Scalar Data Types
  • Scalar Variable Declarations
  • The %TYPE Attribute
  • Declaring Variables with the %TYPE Attribute
  • Declaring Boolean Variables

Interacting with the Oracle Server --3hrs

  • SQL Statements in PL/SQL
  • SELECT Statements in PL/SQL
  • Retrieving Data in PL/SQL
  • Naming Conventions
  • Manipulating Data Using PL/SQL
  • Inserting Data
  • Updating Data
  • Deleting Data
  • Merging Rows
  • Naming Conventions
  • SQL Cursor
  • SQL Cursor Attributes
  • Transaction Control Statements

Writing Control Structures --3hrs

  • Controlling PL/SQL Flow of Execution
  • IF Statements
  • Simple IF Statements
  • Compound IF Statements
  • IF-THEN-ELSE Statement Execution Flow
  • IF-THEN-ELSE Statements
  • IF-THEN-ELSIF Statement Execution Flow
  • IF-THEN-ELSIF Statements
  • CASE Expressions
  • CASE Expressions: Example
  • Handling Nulls
  • Logic Tables
  • Boolean Conditions
  • Iterative Control: LOOP Statements
  • Basic Loops
  • WHILE Loops
  • FOR Loops
  • Guidelines While Using Loops
  • Nested Loops and Labels

Working with Composite Data Types –4hrs

  • Composite Data Types
  • PL/SQL Records
  • Creating a PL/SQL Record
  • PL/SQL Record Structure
  • The %ROWTYPE Attribute
  • Advantages of Using %ROWTYPE
  • The %ROWTYPE Attribute
  • INDEX BY Tables
  • Creating an INDEX BY Table
  • INDEX BY Table Structure
  • Creating an INDEX BY Table
  • Using INDEX BY Table Methods
  • INDEX BY Table of Records
  • Example of INDEX BY Table of Records

Writing Explicit Cursors --4hrs

  • About Cursors Explicit Cursor Functions
  • Controlling Explicit Cursors
  • Declaring the Cursor
  • Opening the Cursor
  • Fetching Data from the Cursor
  • Closing the Cursor
  • Explicit Cursor Attributes
  • The %ISOPEN Attribute
  • Controlling Multiple Fetches
  • The %NOTFOUND and %ROWCOUNT Attributes
  • Cursors and Records
  • Cursor FOR Loops
  • Cursor FOR Loops Using Subqueries
  • Cursors with Parameters
  • The FOR UPDATE Clause
  • Cursors with Subqueries

Handling Exceptions --2hrs

  • Handling Exceptions with PL/SQL
  • Handling Exceptions
  • Exception Types
  • Trapping Exceptions
  • Trapping Exceptions Guidelines
  • Trapping Predefined Oracle Server Errors
  • Predefined Exceptions
  • Trapping Nonpredefined Oracle Server Errors
  • Nonpredefined Error
  • Functions for Trapping Exceptions
  • Trapping User-Defined Exceptions
  • User-Defined Exceptions
  • Calling Environments
  • Propagating Exceptions


Creating Procedures --4hrs

  • PL/SQL Program Constructs
  • Overview of Subprograms 5
  • Block Structure for Anonymous PL/SQL Blocks
  • Block Structure for PL/SQL Subprograms
  • PL/SQL Subprograms
  • Benefits of Subprograms
  • Invoking Stored Procedures and Functions
  • What Is a Procedure?
  • Syntax for Creating Procedures
  • Developing Procedures
  • Formal Versus Actual Parameters
  • Procedural Parameter Modes
  • Creating Procedures with Parameters
  • IN Parameters: Example
  • OUT Parameters: Example
  • Viewing OUT Parameters
  • IN OUT Parameters
  • Viewing IN OUT Parameters
  • Methods for Passing Parameters
  • DEFAULT Option for Parameters
  • Examples of Passing Parameters
  • Declaring Subprograms
  • Invoking a Procedure from an Anonymous PL/SQL Block
  • Invoking a Procedure from Another Procedure
  • Handled Exceptions
  • Unhandled Exceptions
  • Removing Procedures

Creating Functions --3hrs

  • Overview of Stored Functions
  • Syntax for Creating Functions
  • Creating a Function
  • Executing Functions
  • Executing Functions: Example
  • Advantages of User-Defined Functions in SQL Expressions
  • Invoking Functions in SQL Expressions: Example
  • Locations to Call User-Defined Functions
  • Restrictions on Calling Functions from SQL Expressions
  • Restrictions on Calling from SQL
  • Removing Functions
  • Procedure or Function?
  • Comparing Procedures and Functions
  • Benefits of Stored Procedures and Functions



Managing Subprograms --2hrs

  • Required Privileges
  • Granting Access to Data
  • Using Invoker's-Rights
  • Managing Stored PL/SQL Objects
  • List All Procedures and Functions
  • USER_SOURCE Data Dictionary View
  • List the Code of Procedures and Functions
  • Detecting Compilation Errors: Example
  • List Compilation Errors by Using USER_ERRORS
  • List Compilation Errors by Using SHOW ERRORS


Creating Packages –3hrs

  • Overview of Packages
  • Components of a Package
  • Referencing Package Objects
  • Developing a Package
  • Creating the Package Specification
  • Declaring Public Constructs
  • Creating a Package Specification: Example
  • Creating the Package Body
  • Public and Private Constructs
  • Creating a Package Body: Example
  • Invoking Package Constructs
  • Declaring a Bodiless Package
  • Referencing a Public Variable from a Stand-Alone Procedure
  • Removing Packages
  • Guidelines for Developing Packages
  • Advantages of Packages

Creating Database Triggers --3hrs

  • Types of Triggers
  • Guidelines for Designing Triggers
  • Database Trigger: Example
  • Creating DML Triggers
  • DML Trigger Components
  • Firing Sequence
  • Syntax for Creating DML Statement Triggers
  • Creating DML Statement Triggers
  • Testing SECURE_EMP
  • Using Conditional Predicates
  • Creating a DML Row Trigger
  • Creating DML Row Triggers
  • Using OLD and NEW Qualifiers
  • Using OLD and NEW Qualifiers: Example Using Audit_Emp_Table
  • Restricting a Row Trigger
  • INSTEAD OF Triggers
  • Creating an INSTEAD OF Trigger
  • Differentiating Between Database Triggers and Stored Procedures
  • Differentiating Between Database Triggers and Form Builder Triggers
  • Managing Triggers
  • Trigger Test Cases
  • Trigger Execution Model and Constraint Checking
  • Trigger Execution Model and Constraint Checking: Example
  • A Sample Demonstration for Triggers Using Package Constructs
  • After Row and After Statement Triggers
  • Demonstration: VAR_PACK Package Specification


Questions?  Request a call back

upcoming training

Java Developer Required 3-5 years of experience on SpringMVC Framework and WebServices
Two-Days Workshop On SpringMVC FrameWork On This Week-Ends: - 12/08/2017 and 13/08/2017

Staffing Solutions

In a dynamically changing world, extracting the most out of your IT Systems requires capable and experienced IT Professionals. To read more on how i-Noesis can make a difference to your business.  


Our Clients

IT Services

IT Consulting

We cover a complete variety of IT Consulting Services, be it web design and development, offshore software development solutions, Staff Outsourcing

Read more

Application Development

The software that suits your specific business needs simply isn’t available on the market.

Read more

Academic/IEEE Projects Development

i-Noesis Solutions offers wide range of academic Final Year IT Projects in all technologies of Computer Science for M.Tech, B.Tech/B.E and MCA. 

Read more