Copyright © 2014 Dwight Dale Cummings 1
Oracle Database 11g: Learn and Master PL/SQL
Presented by
Dwight Dale Cummings
Course Outline
Course Description and Outline
30 Hours
20 Lessons
Copyright © 2014 Dwight Dale Cummings 2
WARNING – Challenging Course!
“It is time for us all to stand and cheer for the doer, the achiever — the one who recognizes the challenges and does something about it.”
– Vince Lombardi
Course Outline
Copyright © 2014 Dwight Dale Cummings 3
By the end of this course…
…participants will be able to quickly develop PL/SQL data-centric line-of-business application modules, which are robust, readable, and easily maintainable.
And will possess advanced skills enabling them to develop custom APIs that facilitate the application development cycle such as code checkers, testers, and tuners.
Course Outline
Copyright © 2014 Dwight Dale Cummings 4
Discover how to…
Choose the right Collection Type Centralize Error Management Accelerate Function Call Performance Use Serially Re-usable Packages Automate code analysis Exploit Bulk Row Processing
Plus… Relevant Tips, Tricks, Traps, Pitfalls, Gotchas and SecretsCourse Outline
Copyright © 2014 Dwight Dale Cummings 5
Intended for…
New-comers to Oracle with SQL knowledge Oracle Application Developers Oracle Database Administrators Intermediate PL/SQL programmers Oracle Certification Aspirants SQL Developers Oracle Technologists
Course Outline
Copyright © 2014 Dwight Dale Cummings 6
About the course…
A rigorous, online, hands-on training course designed to teach students PL/SQL concepts, constructs and features; develop in them industry best-practices, and enable participants to be fluent and fast PL/SQL developers.
Course Outline
Copyright © 2014 Dwight Dale Cummings 7
Delivery Logistics
Total Duration: 30 Hours
Number of Sessions: 10
Number of Lessons: 20
Medium: Web-based virtual training room
Technologies: Audio/Video Feed, Screen Sharing, Polling, Drawing, Virtual Laser, Chat
Course Outline
Copyright © 2014 Dwight Dale Cummings 8
Delivery Methodology
Lectures Discussions Questions and Answers Mini Quizzes Lesson Quizzes Hands-Programming Labs Course Project
Course Outline
Copyright © 2014 Dwight Dale Cummings 9
Lessons at a glance
1. PL/SQL in a Nutshell
2. The Typing of Variables
3. Code Building Blocks
4. The “SQL” in PL/SQL
5. Logically Controlling Execution
6. Constructing Composite Types
7. Cursors for Multi-Row Queries
8. Robust Error Management
9. Creating and Calling Sub-Programs
10. Sub-Program Parameter Design
11. Packaging Programs and Identifiers
Course Outline
12. Key Oracle Supplied Packages
13. Dynamic SQL and Bulk Processing
14. Triggering Program Execution
15. Advanced Trigger Designs
16. Design Policies and Performance Gems
17. Scheduling Program Execution
18. Compilation Control and Obfuscation
19. Managing Schema Dependencies
20. Identifier Analysis with PL/Scope
Copyright © 2014 Dwight Dale Cummings 10
1. PL/SQL in a Nutshell
Why PL/SQL How PL/SQL code is executed The PL/SQL code structure PL/SQL program structures Identifiers in PL/SQL Output messages in PL/SQL Code comments in PL/SQL
Course Outline
Copyright © 2014 Dwight Dale Cummings 11
2. The Typing of Variables
Variable Declaration Syntax PL/SQL Data Types Subtype Declarations The %TYPE attribute Bind Variables in PL/SQL
Course Outline
Copyright © 2014 Dwight Dale Cummings 12
3. Code Building Blocks
Language elements in PL/SQL Express Literal Values Executable Statements Operators and Functions Interval and Date Arithmetic Block labels, nesting and qualification
Course Outline
Copyright © 2014 Dwight Dale Cummings 13
4. The “SQL” in PL/SQL
SQL Statements Directly in PL/SQL Retrieving Data with SQL SELECT Cursors, Implicit and Explicit Cursor Attributes
Course Outline
Copyright © 2014 Dwight Dale Cummings 14
5. Logically Controlling Execution
PLSQL 3-Valued Logic Using IF-THEN-ELSE statements CASE Statements CASE Expressions Looping Constructs Nesting and Labeling Loops CONTINUE Statement
Course Outline
Copyright © 2014 Dwight Dale Cummings 15
6. Constructing Composite Types
Composite vs. Scalar data types PL/SQL Records and the %ROWTYPE
attribute Using Associative Arrays Using Nested Tables Using VARRAYs Collection Navigation and Limits
Course Outline
Copyright © 2014 Dwight Dale Cummings 16
7. Cursors for Multi-Row Queries
Explicit Cursor Operations Fetch Statement and Records Cursor Attributes and LOOPS Parameterized Cursors Updating Cursor Rows
Course Outline
Copyright © 2014 Dwight Dale Cummings 17
8. Robust Error Management
Exceptions vs Run-Time Errors Exception Handling User Defined Exceptions Fine-Grained Exception Handling Exceptions in Declarations and Handlers Exception Propagation Run-time error handling
Course Outline
Copyright © 2014 Dwight Dale Cummings 18
9. Creating and Calling Sub-Programs
Program Structures and Procedure Calls Sub-program syntax Local Sub-programs Stored Sub-programs Sub-program exception handling
Course Outline
Copyright © 2014 Dwight Dale Cummings 19
10. Sub-Program Parameter Design
Formal vs Actual Parameters Parameter passing modes Default parameters and argument notation Passing methods and NOCOPY Custom-Functions in SQL
Course Outline
Copyright © 2014 Dwight Dale Cummings 20
11. Packaging Programs and Identifiers
Package concepts and benefits Designing, creating and using packages Package States and Initialization Overloading Sub-program Names Using Forward Declarations
Course Outline
Copyright © 2014 Dwight Dale Cummings 21
12. Key Oracle-Supplied Packages
Benefits of Oracle-Supplied Packages Understanding DBMS_OUTPUT File I/O with UTL_FILE Handy Services of DBMS_UTILITY
Course Outline
Copyright © 2014 Dwight Dale Cummings 22
13. Dynamic SQL and Bulk Processing
Using EXECUTE IMMEDIATE Dynamic Cursors Execution Steps and DBMS_SQL BULK Processing of rows Dynamic Bulk Processing
Course Outline
Copyright © 2014 Dwight Dale Cummings 23
14. Triggering Program Execution
Database triggers and Uses Trigger Types Coding Triggers Managing Triggers
Course Outline
Copyright © 2014 Dwight Dale Cummings 24
15. Advanced Trigger Designs
Compound Triggers The Mutating Table problem DDL Trigger Types DDL Trigger Applications
Course Outline
Copyright © 2014 Dwight Dale Cummings 25
16. Design Policies and Performance Gems
Run-Time Privileges Standard Service Packages Autonomous Transactions Boosting Function Call Performance The RETURNING clause
Course Outline
Copyright © 2014 Dwight Dale Cummings 26
17. Scheduling Program Execution
Creating Programs Creating and Assigning Schedules Submitting Jobs
Course Outline
Copyright © 2014 Dwight Dale Cummings 27
18. Compilation Control and Obfuscation
Initialization Parameters Compile Time Warnings Compiler Directives Conditional Compilation Obfuscating PL/QL Code
Course Outline
Copyright © 2014 Dwight Dale Cummings 28
19. Managing Schema Dependencies
Track Procedural Dependencies Effects of Database Changes Manage Procedural Dependencies
Course Outline
Copyright © 2014 Dwight Dale Cummings 29
20. Identifier Analysis with PL/Scope
Activating PL/SQL Scope PL/Scope Data Dictionary Views Accessing PL/Scope Data Applications for PL/Scope
Course Outline
Copyright © 2014 Dwight Dale Cummings 30
Course Quality Assurance
Delivered by an expert with more than 20 years industry experience as Oracle developer, trainer, and technologist.
Industries: Urban Planning, Power Generation and Distribution, Sea-Port Governance, Food Distribution, Life Insurance, Retail, Banking, Money Services.
Course Outline
Copyright © 2014 Dwight Dale Cummings 31
Next Steps…
1. Take Oracle Database 11g: Learn and Master PL/SQL
2. Sit 1Z0-147 Program with PL/SQL (Oracle PL/SQL Developer Certified Associate)
Course Outline
How to Join: Email me at
***