|
(703)246-9100 Northern Virginia (804)285-5830 Central Virginia (757)420-3810 Tidewater Area (800)294-7497 Toll Free (804)285-3722 Fax |
Develop database triggers, stored procedures, and functions.
Course Description:
This course will cover the Oracle 10g 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.
You will cover…
The PL/SQL Environment
PL/SQL Program Structure
Native Compilation
Update, Insert and Delete Statements
Variable Scope Rules
Error Functions / Debugging
Logical Comparisons
Defining, Executing and Testing Procedures and Functions
Creating Package Specifications And Bodies, and Triggers Of All Types
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 10g PL/SQL language.
Prerequisites:
Oracle 10g Foundation: SQL Basics & SQL*PLUS or Equivalent experience
Course Labs:
Using PL/SQL to create an Anonymous Block
PL/SQL Program Control
Selecting and Updating Database Data
Using Explicit Cursors
Handling Exceptions
Creating Procedures
Creating Functions
Creating Packages
Creating Triggers
Embedded Functions and Procedures
Creating Autonomous Transactions
Encrypting Source Code
Using the UTL_FILE Package
Using the DBMS_ALERT Package
Creating Object Types
Creating Manipulating Object Tables
Working With Collections
Collections And Bulk Binding
DBMS_SQL / Native Dynamic SQL
Working With Large Objects
Load, Publish And Run Java
Course Content:
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
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
Working with Database Data
SELECTing single rows
Declaring variable datatypes dynamically
Modifying database data (DML)
Transaction control statements
Selecting Multiple Rows Using Cursors
Declaring explicit cursors
Implicit cursor attributes
Using the cursor FOR LOOP
Exception Handling
Writing an exception handler section
Handling predefined exceptions, Controlling exception processing – exception propagation
Using RAISE_APPLICATON_ERROR
Preventing unhandled exceptions
Exception propagation
Using PRAGMA EXCEPTION_INIT
Advanced Cursors
Cursor parameters
Taking advantage of a weak cursor variable
OPEN FOR, FETCH and CLOSE
Using the FOR UPDATE clause
Using PL/SQL collections and nested collections
Introduction to Procedures and Functions
Creating stored PL/SQL objects, procedures, functions
Creating Packages
Creating package specifications and bodies
Creating DML Triggers
Triggering events, Trigger behavior
Correlation identifiers, Multi-statement triggers
Trigger firing behavior, Enabling/Disabling triggers
Advanced Packages
Initializing variables, Module Overloading, Recursion, Purity levels, Using the “Persistent State” to advantage, and One Time Only Procedures
Advanced Triggers
Trigger limitations, Mutating and Constraining Tables
Using CALL, and client triggers
DDL Triggers
Using SERVERERROR event
Schema vs. Database triggers
Using alternative events and levels
INSTEAD OF triggers on views
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
Bulk-Bind Data Loading Using PL/SQL
Defining bulk binds
Error handling with bulk binds
Using Oracle Supplied Packages
DBMS_OUTPUT package
UTL_FILE package (file i/o)
DBMS_ALERT Package
DBMS_PIPE Package DBMS_JOB Package
DBMS_STATS Package
DBMS_UTILITY Package
UTL_SMTP Package
DBMS_SQL Package
Writing Native Dynamic SQL
PL/SQL Wrapper
PL/SQL wrapper (source code encryption)
Let’s wrap
Understanding Dependencies
Viewing dependencies
Effect of breaking dependency chain
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
Objects
Basic Objects, Object Inheritance
Unique Training Solutions for Unique Clients