Oracle Database 11g PL/SQL Programming |
|
|
|
Public Training Course - Taught Live OnLine
Training Description
This online Oracle Database 11g: PL/SQL Programming technical training course introduces students to PL/SQL and helps them understand the benefits of Oracle’s proprietary database language. Students learn to create PL/SQL blocks of application code that can be shared by multiple users, forms, reports, and data management applications. Students learn to create anonymous PL/SQL blocks as well as named stored procedures, functions, packages and triggers. Students learn to develop, execute, and manage PL\SQL stored program units, subprograms, triggers, declaring identifiers and both user-defined and pre-defined exceptions. Students are introduced to the utilization of some of the more useful Oracle-supplied packages.
Training Objectives
As a result of attending this course, you will be able to:
- Describe the features and syntax of PL/SQL
- Use PL/SQL programming constructs and conditionally control code flow (loops, control structures, and explicit cursors)
- Handle runtime errors
- Design PL/SQL anonymous block that execute efficiently
- Create and use stored procedures and functions
- Design and use PL/SQL packages to group and contain related constructs
- Manage dependencies between PL/SQL subprograms
- Use conditional compilation to customize functionality in a PL/SQL block
- Create overloaded package subprograms
- Use the Oracle supplied PL/SQL packages to generate screen output, file output, and schedule jobs.
- Write dynamic SQL for coding flexibility
- Describe security for stored PL/SQL units
- Design PL/SQL code for predefined data types, local subprograms, additional pragmas and standardized constants and exceptions
- Create triggers to solve business requirements including 11g compound triggers
- Use the 11g PL/SQL function cache
Prerequisites
- The course, Oracle Database 11g: SQL
- Previous programming experience
Audience
- System Analysts, Developers, Database Administrators, Technical Consultants
Training Outline
Introduction to PL/SQL
- PL/SQL Overview
- Benefits of PL/SQL Subprograms
- Overview of the Types of PL/SQL blocks
- Creating and Executing an Anonymous Block
- Displaying Output from a PL/SQL Block
PL/SQL Identifiers
- PL/SQL datatypes
- Using the Declarative Section of a block
- Storing Data in Variables
- Scalar Data Types
- %TYPE Attribute
- Using Sequences in PL/SQL Expressions
Executable Statements
- Describing Basic PL/SQL Block Syntax Guidelines
- Commenting Code
- SQL Functions in PL/SQL
- Data Type Conversion
- Nested Blocks
- Operators in PL/SQL
- Retrieving Data with SELECT Statements in PL/SQL
- Making Changes to Database Data Using PL/SQL
- SQL Cursors
- Using SQL Cursor Attributes
- Transaction Processing in PL/SQL
Control Structures
- Using IF Statements
- Using CASE Statements
- Simple Loop Statement
- While Loop Statement
- For Loop Statement
- The Continue Statement
Composite Data Types
- Using PL/SQL Records
- Using the %ROWTYPE Attribute
- Inserting and Updating with PL/SQL Records
- Using PL/SQL Tables (Associative Arrays)
Explicit Cursors
- Understanding Explicit Cursors
- Declaring the Cursor
- Opening the Cursor
- Fetching data from the Cursor
- Closing the Cursor
- Cursor FOR loop
- Explicit Cursor Attributes
- FOR UPDATE Clause
- WHERE CURRENT Clause
Exception Handling
- Understanding Exceptions and Exception Handling
- Coding for Predefined Oracle Server Errors
- Coding for Non-Predefined Oracle Server Errors
- Coding for User-Defined Exceptions
- Exception Propogation
- Calling the RAISE_APPLICATION_ERROR Procedure
Stored Procedures
- Modular Development
- Understanding the PL/SQL Execution Environment
- Advantages of Using PL/SQL Subprograms
- Anonymous Blocks verses Stored Subprograms
- Using the CREATE Procedure Command
- Using Parameters
- Understanding Parameters Modes
- Viewing Information About Stored Procedures Using the Data Dictionary Views
Stored Functions
- Using the CREATE Function Command
- Calling User-Defined Functions in SQL Statements
- Controlling Side Effects When Calling Functions from SQL Expressions
- Viewing Information About Stored Functions Using the Data Dictionary Views
Managing Dependencies
- Define Schema Object Dependencies
- Querying information about dependencies from the USER_DEPENDENCIES View
- Status for a Schema Object
- Invalidation of Dependent Objects
- Fine-Grained Dependency Management in Oracle Database 11g
- Recompiling a PL/SQL Program Unit
Packages
- Advantages of Packages
- Describing Packages
- The Components of a Package
- Using the CREATE Package and CREATE Package Body Commands
- The Scope of a Package’s Components
- Invoking the Elements in a Package
- Persistent State of Packages
- Using the Data Dictionary to View Package Source Code
- Overloading Subprograms in PL/SQL
- Using Forward Declarations
- Using Package Functions in SQL
- Using PL/SQL Tables of Records in Packages
DML Triggers
- Identifying Scenarios for Implementing Triggers
- Trigger Events
- Trigger Bodies
- Using the CREATE TRIGGER Statement to Create DML Triggers
- Statement Level Triggers Versus Row Level Triggers
- Disabling Triggers
Compound, DDL, and Event Database Triggers
- Working With Compound Triggers
- Identifying the Timing-Point of a Table Compound Trigger
- Structure of Compound Triggers
- Using a Compound Trigger to Resolve the Mutating Table Error
- Creating Triggers on DDL Statements
- Creating Database-Event and System-Event Triggers
- System Privileges Required for Trigger Management
Oracle-Supplied Packages
- Examples of Some of the Oracle-Supplied Packages
- Using the DBMS_OUTPUT Package
- Using the UTL_FILE Package
- Using the UTL_MAIL Package
- Using the DBMS_METADATA Package
- Using the UTL_COMPRESS Package
- Using the DBMS_CRYPTO Package
- Using the DBMS_SCHEDULER Package
- Using the DBMS_PIPE Package
Dynamic SQL and Bulk Processing
- Using the EXECUTE IMMEDIATE Command
- Cursor Variables
- Using Native Dynamic SQL to Compile PL/SQL Code
- Context Switches
- Bulk Processing
- Using the FORALL Statement
Design Considerations
- Autonomous Transactions
- The NOCOPY Compiler Hint
- The PARALLEL_ENABLE Hint
- Security Options for Stored PL/SQL Units
- Using the Cross-Session PL/SQL Function Result Cache
- Using the DETERMINISTIC Clause with Functions
- Improving Performance Using Bulk Binding
The PL/SQL Compiler
- Using the PL/SQL Compiler
- Initialization Parameters for PL/SQL Compilation
- PL/SQL Compile Time Warnings
- Compile Time Warning Messages Categories
- Using PLSQL_WARNINGS Initialization Parameter to Set the Warning Messages Levels
- Using the DBMS_WARNING Package to Set the Warning Messages Levels
- Querying the Compiler Warnings from the Data Dictionary Views
- Conditional Compilation
- The PLSQL_CCFLAGS Parameter
|