ORACLE PL/SQL Fundamentals ( oplsqlfun | 21 hours )
The course is only suitable for those who have some knowledge of SQL.
Previous experience with an interactive computer system is desirable but not essential.
This 3 day course gives an introduction to ORACLE PL/SQL, an application development environment that enables the writing of stored procedures, functions and triggers using both SQL and PL/SQL commands.
The course takes the format of a workshop, with a mix of lecture, working examples and practical exercises. Although the content may be customised, at least 2 days are needed to cover the core elements.
Full course notes are provided along with sample database files, example SQL files and free software tools for use in accessing an ORACLE database.
Introduction
- Aims and Objectives
- Course Schedule
- Introductions
- Pre-requisites
- Responsibilities
SQL Tools
- Objectives
- SQL Developer
- SQL Developer - Connection
- Viewing Table Information
- Using SQL, SQL Developer - Query
- SQL*Plus Login
- Direct Connection
- Using SQL*Plus
- Ending the Session
- SQL*Plus Commands
- SQL*Plus Environment
- SQL*Plus Prompt
- Finding Information about Tables
- Getting Help
- Using SQL Files
- iSQL*Plus, Entity Models
- The ORDERS Tables
- The FILM Tables
- Course Tables Handout
- SQL Statement Syntax
- SQL*Plus Commands
What is PL/SQL?
- What is PL/SQL?
- Why Use PL/SQL?
- Block Structure
- Displaying a Message
- Sample Code
- Setting SERVEROUTPUT
- Update Example, Style Guide
Variables
- Variables
- Datatypes
- Setting Variables
- Constants
- Local and Global Variables
- %Type Variables
- Substitution Variables
- Comments with &
- Verify Option
- && Variables
- Define and Undefine
SELECT Statement
- SELECT Statement
- Populating Variables
- %Rowtype Variables
- CHR Function
- Self Study
- PL/SQL Records
- Example Declarations
Conditional Statement
- IF Statement
- SELECT Statement
- Self Study
- Case Statement
Trapping Errors
- Exception
- Internal Errors
- Error Code and Message
- Using No Data Found
- User Exceptions
- Raise Application Error
- Trapping Non-defined Errors
- Using PRAGMA EXCEPTION_INIT
- Commit and Rollback
- Self Study
- Nested Blocks
- Workshop
Iteration - Looping
- Loop Statement
- While Statement
- For Statement
- Goto Statement and Labels
Cursors
- Cursors
- Cursor Attributes
- Explicit Cursors
- Explicit Cursor Example
- Declaring the Cursor
- Declaring the Variable
- Open, Fetching the First Row
- Fetching the Next Row
- Exit When %Notfound
- Close
- For Loop I
- For Loop II
- Update Example
- FOR UPDATE
- FOR UPDATE OF
- WHERE CURRENT OF
- Commit with Cursors
- Validation Example I
- Validation Example II
- Cursor Parameters,
- Workshop
- Workshop Solution
Procedures, Functions and Packages
- Create Statement
- Parameters
- Procedure Body
- Showing Errors
- Describe a Procedure
- Calling Procedures
- Calling Procedures in SQL*Plus
- Using Output Parameters
- Calling with Output Parameters
- Creating Functions
- Example Function
- Showing Errors
- Describe a Function
- Calling Functions
- Calling Functions in SQL*Plus
- Modular Programming
- Example Procedure
- Calling Functions
- Calling Functions In An IF Statement
- Creating Packages
- Package Example
- Reasons for Packages
- Public and Private Sub-programs
- Showing Errors
- Describe a Package
- Calling Packages in SQL*Plus
- Calling Packages From Sub-Programs
- Dropping a Sub-Program
- Finding Sub-programs
- Creating a Debug Package
- Calling the Debug Package
- Positional and Named Notation
- Parameter Default Values
- Recompiling Procedures and Functions
- Workshop
Triggers
- Creating Triggers
- Statement Triggers
- Row Level Triggers
- WHEN Restriction
- Selective Triggers - IF
- Showing Errors
- Commit in Triggers
- Restrictions
- Mutating Triggers
- Finding Triggers
- Dropping a Trigger
- Generating an Auto-number
- Disabling Triggers
- Enabling Triggers
- Trigger Names
Sample Data
- ORDER Tables
- FILM Tables
- EMPLOYEE Tables
Dynamic SQL
- SQL in PL/SQL
- Binding
- Dynamic SQL
- Native Dynamic SQL
- DDL and DML
- DBMS_SQL Package
- Dynamic SQL - SELECT
- Dynamic SQL - SELECT Procedure
Using Files
- Using Text Files
- UTL_FILE Package
- Write/Append Example
- Read Example
- Trigger Example
- DBMS_ALERT Packages
- DBMS_JOB Package
COLLECTIONS
- %Type Variables
- Record Variables
- Collection Types
- Index-By Tables
- Setting Values
- Nonexistent Elements
- Nested Tables
- Nested Table Initialisation
- Using the Constructor
- Adding to a Nested Table
- Varrays
- Varray Initialization
- Adding Elements to a Varray
- Multilevel Collections
- Bulk Bind
- Bulk Bind Example
- Transactional Issues
- BULK COLLECT Clause
- RETURNING INTO
Ref Cursors
- Cursor Variables
- Defining REF CURSOR Types
- Declaring Cursor Variables
- Constrained and Unconstrained
- Using Cursor Variables
- Cursor Variable Examples
United Arab Emirates - ORACLE PL/SQL Fundamentals
Qatar - ORACLE PL/SQL Fundamentals
Egypt - ORACLE PL/SQL Fundamentals
Saudi Arabia - ORACLE PL/SQL Fundamentals
South Africa - ORACLE PL/SQL Fundamentals
Brasil - Fundamentos ORACLE PL/SQL
Canada - ORACLE PL/SQL Fundamentals
中国 - ORACLE PL/SQL Fundamentals
香港 - ORACLE PL/SQL Fundamentals
澳門 - ORACLE PL/SQL Fundamentals
台灣 - ORACLE PL/SQL Fundamentals
USA - ORACLE PL/SQL Fundamentals
Österreich - ORACLE PL/SQL Grundlagen
Schweiz - ORACLE PL/SQL Grundlagen
Deutschland - ORACLE PL/SQL Grundlagen
Czech Republic - ORACLE PL/SQL Fundamentals
Denmark - ORACLE PL/SQL Fundamentals
Estonia - ORACLE PL/SQL Fundamentals
Finland - ORACLE PL/SQL Fundamentals
Greece - ORACLE PL/SQL Fundamentals
Magyarország - ORACLE PL/SQL Fundamentals
Ireland - ORACLE PL/SQL Fundamentals
Luxembourg - ORACLE PL/SQL Fundamentals
Latvia - ORACLE PL/SQL Fundamentals
España - Fundamentos de ORACLE PL / SQL
Italia - ORACLE PL/SQL Fundamentals
Lithuania - ORACLE PL/SQL Fundamentals
Nederland - ORACLE PL/SQL Fundamentals
Norway - ORACLE PL/SQL Fundamentals
Portugal - Fundamentos ORACLE PL/SQL
România - ORACLE PL/SQL Fundamentals
Sverige - ORACLE PL/SQL Fundamentals
Türkiye - ORACLE PL/SQL Fundamentals
Malta - ORACLE PL/SQL Fundamentals
Belgique - ORACLE PL/SQL Fundamentals
France - ORACLE PL/SQL Fundamentals
日本 - ORACLE PL/SQL Fundamentals
Australia - ORACLE PL/SQL Fundamentals
Malaysia - ORACLE PL/SQL Fundamentals
New Zealand - ORACLE PL/SQL Fundamentals
Philippines - ORACLE PL/SQL Fundamentals
Singapore - ORACLE PL/SQL Fundamentals
Thailand - ORACLE PL/SQL Fundamentals
Vietnam - ORACLE PL/SQL Fundamentals
India - ORACLE PL/SQL Fundamentals
Argentina - Fundamentos de ORACLE PL / SQL
Chile - Fundamentos de ORACLE PL / SQL
Costa Rica - Fundamentos de ORACLE PL / SQL
Ecuador - Fundamentos de ORACLE PL / SQL
Guatemala - Fundamentos de ORACLE PL / SQL
Colombia - Fundamentos de ORACLE PL / SQL
México - Fundamentos de ORACLE PL / SQL
Panama - Fundamentos de ORACLE PL / SQL
Peru - Fundamentos de ORACLE PL / SQL
Uruguay - Fundamentos de ORACLE PL / SQL
Venezuela - Fundamentos de ORACLE PL / SQL
United Kingdom - ORACLE PL/SQL Fundamentals
South Korea - ORACLE PL/SQL Fundamentals
Pakistan - ORACLE PL/SQL Fundamentals
Sri Lanka - ORACLE PL/SQL Fundamentals
Bulgaria - ORACLE PL/SQL Fundamentals
Bolivia - Fundamentos de ORACLE PL / SQL
Indonesia - ORACLE PL/SQL Fundamentals
Kazakhstan - ORACLE PL/SQL Fundamentals
Moldova - ORACLE PL/SQL Fundamentals
Morocco - ORACLE PL/SQL Fundamentals
Tunisia - ORACLE PL/SQL Fundamentals
Kuwait - ORACLE PL/SQL Fundamentals
Oman - ORACLE PL/SQL Fundamentals
Slovakia - ORACLE PL/SQL Fundamentals
Kenya - ORACLE PL/SQL Fundamentals
Nigeria - ORACLE PL/SQL Fundamentals
Botswana - ORACLE PL/SQL Fundamentals
Slovenia - ORACLE PL/SQL Fundamentals
Croatia - ORACLE PL/SQL Fundamentals
Serbia - ORACLE PL/SQL Fundamentals