ORACLE PL/SQL Fundamentals Training Course

Primary tabs

Course Language

This course is delivered in Polish or English.

Course Code

oplsqlfun

Duration Duration

21 hours (usually 3 days including breaks)

Requirements Requirements

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.

Overview Overview

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.

Course Outline Course Outline

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

Guaranteed to run even with a single delegate!
Public Classroom Public Classroom
Participants from multiple organisations. Topics usually cannot be customised
From 5206PLN
(82)
Private Classroom Private Classroom
Participants are from one organisation only. No external participants are allowed. Usually customised to a specific group, course topics are agreed between the client and the trainer.
From 5206PLN
Request quote
Private Remote Private Remote
The instructor and the participants are in two different physical locations and communicate via the Internet
From 15200PLN
Request quote
SelfStudy SelfStudy
Self-study courses allow you to learn at your own pace on your own time. There is no live instructor involved. The participants use recorded video, quizzes and reading at their own convenience.
Price not set yet
Register Interest

The more delegates, the greater the savings per delegate. Table reflects price per delegate and is used for illustration purposes only, actual prices may differ.

Number of Delegates Public Classroom Private Classroom Private Remote
1 5206PLN 5206PLN 15200PLN
2 4358PLN 4258PLN 9255PLN
3 4075PLN 3942PLN 7273PLN
4 3934PLN 3784PLN 6283PLN
Cannot find a suitable date? Choose Your Course Date >>
Too expensive? Suggest your price

Related Categories


Course Discounts

Course Venue Course Date Course Price [Remote/Classroom]
Programming in C# 5.0 with Visual Studio 2012 Poznan, Garbary Mon, 2016-05-30 09:00 2685PLN / 1822PLN
Introduction to Machine Learning Wrocław, ul.Ludwika Rydygiera 2a/22 Mon, 2016-05-30 09:00 2730PLN / 1940PLN
Adobe Captivate Kielce Tue, 2016-05-31 09:00 1318PLN / 1127PLN
Excel and VBA Programming for Audit and Finance Professionals Szczecin Tue, 2016-05-31 09:00 1913PLN / 1513PLN
Programming in WPF 4.5 Warszawa, ul. Złota 3/11 Tue, 2016-05-31 09:00 2359PLN / 1355PLN
SQL Fundamentals Warszawa, ul. Złota 3/11 Wed, 2016-06-01 09:00 1358PLN / 853PLN
MS Excel - poziom średniozaawansowany Łódź, ul. Tatrzańska 11 Wed, 2016-06-01 09:00 1044PLN / 840PLN
SQL language in MSSQL Toruń, ul. Żeglarska 10/14 Wed, 2016-06-01 09:00 1568PLN / 1198PLN
Bezpieczeństwo aplikacji internetowych Katowice Wed, 2016-06-01 09:30 3606PLN / 2531PLN
Test Automation with Selenium Kraków Mon, 2016-06-06 09:00 3200PLN / 2433PLN
Test Automation with Selenium Katowice Tue, 2016-06-07 09:30 3431PLN / 2469PLN
MS Excel - poziom średniozaawansowany Katowice Wed, 2016-06-08 09:00 700PLN / 771PLN
Programming in C++ Olsztyn, ul. Kajki 3/1 Mon, 2016-06-13 09:00 2936PLN / 2395PLN
Container management with Docker Trójmiasto Tue, 2016-06-14 09:00 4360PLN / 2774PLN
Excel Advanced Katowice Mon, 2016-06-20 09:00 775PLN / 933PLN
Test Automation with Selenium Warszawa, ul. Złota 3/11 Mon, 2016-06-20 09:00 3431PLN / 2327PLN
PostgreSQL Administration and Development Lublin Mon, 2016-06-20 09:30 4025PLN / 3134PLN
Introduction to R Warszawa, ul. Złota 3/11 Tue, 2016-06-21 09:00 3058PLN / 2123PLN
Creating and managing Web sites Wrocław, ul.Ludwika Rydygiera 2a/22 Mon, 2016-06-27 09:00 3410PLN / 2555PLN
Programming in C Gdynia Mon, 2016-06-27 09:00 1590PLN / 1143PLN
Distributed Messaging with Apache Kafka Katowice Mon, 2016-06-27 09:30 4998PLN / 3288PLN
Design Patterns in C# Wrocław, ul.Ludwika Rydygiera 2a/22 Wed, 2016-06-29 09:00 1865PLN / 1392PLN
Visual Basic for Applications (VBA) for Analysts Poznan, Garbary Mon, 2016-07-04 09:00 1912PLN / 1278PLN
Debian Administration Poznan, Garbary Mon, 2016-07-04 09:00 3157PLN / 2083PLN
A Practical Guide to Successful Pricing Strategies Poznan, Garbary Wed, 2016-07-06 09:00 1427PLN / 1093PLN
Excel and VBA Programming for Audit and Finance Professionals Warszawa, ul. Złota 3/11 Mon, 2016-07-11 09:00 1913PLN / 1441PLN
Machine Learning Fundamentals with R Warszawa, ul. Złota 3/11 Mon, 2016-07-18 09:00 2523PLN / 1828PLN
Building Web Apps using the MEAN stack Szczecin Mon, 2016-07-18 09:00 5538PLN / 3351PLN
Microsoft Access - download the data Poznan, Garbary Wed, 2016-07-20 09:00 1117PLN / 856PLN
Python Programming Warszawa, ul. Złota 3/11 Mon, 2016-08-01 09:00 5790PLN / 3753PLN
Programming in WPF 4.5 Warszawa, ul. Złota 3/11 Mon, 2016-09-05 09:00 2359PLN / 1355PLN
BPMN 2.0 for Business Analysts Wrocław, ul.Ludwika Rydygiera 2a/22 Tue, 2016-09-27 09:00 3110PLN / 2337PLN

Upcoming Courses

VenueCourse DateCourse Price [Remote/Classroom]
Poznan, GarbaryMon, 2016-06-13 09:006283PLN / 3817PLN
Warszawa, ul. Złota 3/11Tue, 2016-06-14 09:006283PLN / 3817PLN
Wrocław, ul.Ludwika Rydygiera 2a/22Wed, 2016-06-15 09:006283PLN / 3817PLN
Łódź, ul. Tatrzańska 11Tue, 2016-06-21 09:006283PLN / 3899PLN
GdańskTue, 2016-06-28 09:006283PLN / 3932PLN

Some of our clients