1999 - Oracle12c PL/SQL Foundations

1999 - Oracle12c PL/SQL Foundations

Length : 5 days

In this course, you will learn about the Oracle 12c PL/SQL programming language. You will be able to control data sharing and locking, develop an understanding of multi-user and concurrent transactions, and develop triggers, procedures, functions, and packages.

What You'll Learn

• The PL/SQL environment
• PL/SQL program structure
• Native compilation
• Update, insert, and delete statements
• Variable scope rules
• Error functions and debugging
• Logical comparisons
• Defining, executing, and testing both procedures and functions
• Creating package specifications and bodies
• Creating triggers
• Using Oracle supplied packages
• Understanding advanced PL/SQL features

Who Needs to Attend

Application Developers and Database Administrators who need a comprehensive understanding of Oracle 12c PL/SQL language


Oracle 12c Foundations: SQL and SQL*PLUS class or equivalent experience

Course Outline

1. Introduction to PL/SQL
• History of PL/SQL
• Features and Benefits of PL/SQL
• Relationship of PL/SQL to SQL
• PL/SQL Development Tools
• Native Compilation

2. PL/SQL Basics
• PL/SQL Anonymous Block Structure, Lexical Units, Variable Declarations, Types, and Records
• SQL*Plus Development Environment
• Displaying Messages with DBMS_OUTPUT
• Object Naming Rules, and PL/SQL Style Guide and Coding Conventions

3. Working with Database Data
• SELECTing Single Rows
• Declaring Variable Datatypes Dynamically
• Modifying Database Data (DML)
• Transaction Control Statements

4. Selecting Multiple Rows Using Cursors
• Declaring Explicit Cursors
• Implicit Cursor Attributes
• Using the Cursor FOR LOOP

5. Exception Handling
• Writing an Exception Handler Section
• Handling Predefined Exceptions, Controlling Exception Processing - Exception Propagation
• Preventing Unhandled Exceptions
• Exception Propagation

6. Advanced Cursors
• Cursor Parameters
• Taking Advantage of a Weak Cursor Variable
• Using the FOR UPDATE Clause
• Using PL/SQL Collections and Nested Collections

7. Introduction to Procedures and Functions
• Creating Stored PL/SQL Objects, Procedures, Functions

8. Creating Packages
• Creating Package Specifications and Bodies
• One Time Only Procedures
• Persistent State

9. Creating DML Triggers
• Triggering Events and Trigger Behavior
• Correlation Identifiers and Multi-statement Triggers
• Trigger Firing Behavior and Enabling/Disabling Triggers

10. Advanced Packages
• Initializing Variables
• Module Overloading
• Recursion
• Purity Levels
• Advanced Triggers
• Trigger Limitations, Mutating, and Constraining Tables
• Using CALL and Client Triggers
• DDL Triggers
• Schema vs. Database Triggers
• Using Alternative Events and Levels
• INSTEAD OF Triggers on Views

11. PL/SQL Composite Datatypes and Collections
• PL/SQL Records, PL/SQL Associative Arrays, and Arrays of Records
• Using PL/SQL Record Variables
• PL/SQL Collections

12. Bulk-Bind Data Loading Using PL/SQL
• Defining Bulk Binds
• Error Handling with Bulk Binds

13. Using Oracle Supplied Packages
• UTL_FILE package (file i/o)
• DBMS_JOB Package
• DBMS_STATS Package
• UTL_SMTP/MAIL Packages
• DBMS_SQL Package

14. Writing Native Dynamic SQL

15. PL/SQL Wrapper
• PL/SQL Wrapper (source code encryption)

16. Understanding Dependencies
• Viewing Dependencies
• Effect of Breaking Dependency Chain

17. Large Object Management in PL/SQL
• Differences between LONG/LONG RAW and LOBs
• Creating and Using BFILEs, and Tables with LOBs
• LOBs and PL/SQL
• DBMS_LOB Capabilities
• Temporary LOBs

18. Objects
• Basic Objects
• Object Inheritance


1. Using PL/SQL to Create an Anonymous Block
2. PL/SQL Program Control
3. Selecting and Updating Database Data
4. Using Explicit Cursors
5. Handling Exceptions
6. Creating Procedures
7. Creating Functions
8. Creating Packages
9. Creating Triggers
10. Embedded Functions and Procedures
11. Creating Autonomous Transactions
12. Encrypting Source Code
13. Using the UTL_FILE
14. Using the DBMS_ALERT Package
15. Creating Object Types
16. Creating and Manipulating Object Tables
17. Working with Collections
18. Collections and Bulk Binding
19. DBMS_SQL / Native Dynamic SQL
20. Working with Large Objects

Class Dates:


Jun 10, 2019 - Jun 14, 2019

Register Now...

On Site Class Available

ExpertONE Learning Solutions Provider Microsoft Certified Partner Logo GSA Advantage