Oracle Database 10g:

Program With PL/SQL

Course Outline

Duration: 5 Days

Prerequisites: The following courses or equivalent knowledge

Objectives:

Part 1:

The primary objective of this course is to provide an introduction to the PL/SQL database programming language, based upon the latest features available with the Oracle10g Release 2 (R2) revision.

Major subject areas to be explored are:
• Understand the environment and context in which PL/SQL operates.
• Consider the advantages and benefits of PL/SQL within a database environment.
• Declaring program variables and complex data types.
• Developing logic within PL/SQL program blocks.
• Fetching data from the database into program variables.
• Returning program output to users.
• Handling program exceptions.
• Using explicit and implicit database cursors.
• Using the advanced features of nested blocks and subprograms.
• How to take advantage of new features such as regular expression support and the handling of string literals within program code.


Part 2:


The Oracle PL/SQL language provides for programming logic features not contained within SQL. The grammar, syntax and benefits of using the PL/SQL language within an Oracle database environment are considered.

The objective of this course is to equip students to develop database server-side PL/SQL program units within an Oracle database. Major subject areas to be explored and secondary objectives are:
• Understanding application partitioning within a client/server or multi-tiered web-based architecture.
• Understanding the basic form and structure of program units stored within the database.
• Building and maintaining database stored program units.
• Encapsulating stored units within packages and taking advantage of accompanying advanced programming techniques such as cursor variables and cursor expressions.
• Handling intricate theoretical challenges, such as mutating tables.
• Building and maintaining DML-event and system-event database triggers.
• Discuss the storage and execution model for database programs and how one can write efficient programs to maximize performance.
• Using system-supplied packages to extend the power of your SQL statements and PL/SQL applications.


 

Course Content:

Part 1:

LANGUAGE FEATURES
• UNDERSTANDING PL/SQL
• STRUCTURE OF A PL/SQL PROGRAM BLOCK
• PL/SQL FROM INTERACTIVE TOOLS
• GENERATING OUTPUT WITHIN SQL*PLUS

DECLARE CLAUSE
• ABOUT THE DECLARE CLAUSE
• DECLARE SIMPLE TYPES
• COMPLEX TYPES
• TYPE ... TABLE
• TYPE ... RECORD

BEGIN CLAUSE
• ABOUT THE BEGIN CLAUSE
• PERFORMING DATA MANIPULATION
• LOGIC CONTROL & BRANCHING
• IF-THEN-ELSE
• CASE

EXCEPTION CLAUSE
• ABOUT THE EXCEPTION CLAUSE
• ISOLATING THE SPECIFIC EXCEPTION
• PRAGMA EXCEPTION_INIT
• SQL%ROWCOUNT & SELECT...INTO

EXPLICIT CURSORS
• ABOUT EXPLICIT CURSORS
• ADVANCED CURSOR TECHNIQUES

ADVANCED PROGRAMMING: NESTED BLOCKS

ADVANCED PROGRAMMING: DECLARED SUBPROGRAMS

Part 2:

INTRODUCING DATABASE PROGRAM UNITS
• ABOUT DATABASE PROGRAM UNITS
• TYPES OF PL/SQL PROGRAM UNITS
• TYPES OF STORED PROGRAM UNITS
• ADVANTAGES OF USING STORED PROGRAM UNITS
• DEVELOPMENT TOOLS

CREATING STORED PROCEDURES & FUNCTIONS
• ABOUT STORED PROCEDURES & FUNCTIONS
• CREATING PROCEDURES & FUNCTIONS
• EXECUTING PROCEDURES & FUNCTIONS
• HANDLING COMPILATION ERRORS

MAINTAINING STORED PROCEDURES & FUNCTIONS
• RECOMPILING & DROPPING PROGRAMS
• DATA DICTIONARY STORAGE
• MANAGING DEPENDENCIES

CREATING & MAINTAINING PACKAGES
• ABOUT PACKAGES
• CREATING PACKAGES
• ADVANCED PROGRAMMING TECHNIQUES
• MAINTAINING PACKAGES

ADVANCED CURSOR TECHNIQUES
• USING CURSOR VARIABLES
• USING CURSOR EXPRESSIONS

USING SYSTEM-SUPPLIED PACKAGES
• DBMS_OUTPUT()
• UTL_FILE()

CREATING DATABASE TRIGGERS
• ABOUT DATABASE TRIGGERS
• STATEMENT-LEVEL TRIGGERS
• ROW-LEVEL TRIGGERS
• EXAMPLES OF TRIGGERS
• INSTEAD OF TRIGGERS
• EMPLOYING TRIGGERS WITHIN AN APPLICATION

MAINTAINING DATABASE TRIGGERS
• CALL SYNTAX
• MULTIPLE TRIGGERS PER EVENT
• TRIGGER MAINTENANCE TASKS
• SHOW ERRORS TRIGGER
• DROP TRIGGER
• ALTER TRIGGER
• HANDLING MUTATING TABLE ISSUES

IMPLEMENTING SYSTEM EVENT TRIGGERS
• WHAT ARE SYSTEM EVENT TRIGGERS?
• DEFINING THE SCOPE
• AVAILABLE SYSTEM EVENTS
• SYSTEM EVENT ATTRIBUTES