Top
Email
Bottom
Oracle Essential PLSQL 18c
 
Name:
Company:
Email:
Telephone:
Training type:
Delegates:


Additional Information
 

Download our latest
Android and iPhone apps ...
Click on whichever one of our Apps you are interested in

Oracle Essential PLSQL 18c course at a glance

Pages
384No of slides in the Manual
Exercises
13Total No of Exercises
Sections
25No of main topics, see index below
Public
NoPublic course in the UK and Ireland
On-Site
YesWe can come to your venue
Level
21 - Beginners
2 - Intermediate
3 - Advanced
Days
3Week days but we can put on weekend courses
Duration:
Minimum skill level required:
On-Site course:
Public course:
Sections:
No of exercises:
No of pages in the manual:
Pre-Requisite course(s):
Suggested further course(s):
Price guide:
3 days
2 (1 - Beginner, 2 - Experienced 3 - Advanced)
Yes
No
25
13
384
Oracle Essential SQL 18c
Advanced PLSQL 18c
Contact us for the latest pricing

Essential Oracle 18c PL/SQL training course
Exercise highlights
(some of the many things you get to practice)

Looping through records from the Database
Creating variables in PLSQL
Writing to the filesystem
Using Execute Immediate
DML Trigger creation

Index of Essential Oracle 18c PL/SQL training course

Section
Contents
Page

One
PL/SQL Introduction
2

 
- Procedural Language for SQL
3

Two
PL/SQL Structure
5

 
- Basic Structure of PLSQL
6

 
- The Declaration Section in PLSQL
7

 
- Local Variables in PLSQL
8

 
- Naming Local Variables in PLSQL
10

 
- Quoted Identifier Variables
12

 
- Variable Datatypes (varchar2)
16

 
- Variable Datatypes (numbers)
17

 
- Variable Datatypes (number)
18

 
- Variable Datatypes (decimal)
21

 
- Variable Datatypes (integer)
22

 
- Variable Datatypes (pls_integer)
23

 
- Variable Datatypes (binary_integer)
24

 
- Variable Datatypes (natural)
25

 
- Variable Datatypes (naturaln)
26

 
- Variable Datatypes (positive)
27

 
- Variable Datatypes (positiven)
28

 
- Variable Datatypes (signtype)
29

 
- Variable Datatypes (simple_integer)
30

 
- Variable Datatypes (boolean)
31

 
- Variable Datatypes - Constants
32

 
- Running PLSQL in SQL*Plus
34

 
- Compiling PLSQL in SQL*Plus
36

 
- Common Compilation Problems
39

 
- Commenting PLSQL
41

 
- Documenting PLSQL
43

Three
The SQL Plus Interface
44

 
- Introduction
45

 
- Anatomy of SQL Plus
50

 
- ORA-01017: invalid username/password; logon denied
51

 
- ORA-12154: TNS:could not resolve the connect identifier
52

 
- Exiting an SQL Plus Session
53

 
- Using the DOS Window
54

 
- Copying and Pasting
55

 
- Using the Function Keys
58

 
- Using the Line Editor in SQL Plus
59

 
- Using the Editor in SQL Plus
60

 
- SQL Plus Environment Settings
61

 
- File Manipulation in SQL Plus
62

 
- Spooling Results in SQL Plus
63

 
- Changing Passwords / Clearing the Screen in SQL
64

 
- Exercise One
65

Four
Performing Simple DML in PLSQL
67

 
- Introduction
68

 
- Using Local Variables
69

 
- Declaring Variables Using %Type
72

 
- Using Substitution Values in PLSQL
76

 
- Exercise Two
79

Five
Performing Conditional Statements in PLSQL
81

 
- If .. Then Statements
82

 
- If .. Then Else Statements
85

 
- If .. Then Elsif Statements
87

 
- Combining Tests
88

 
- Nesting Conditions
89

 
- Boolean Conditions
90

Six
- Communicating from PLSQL
91

 
- Messaging Via PLSQL
92

 
- Exercise Three
97

Seven
Exception Handling
99

 
- Introduction
100

 
- The When clause
103

 
- The When Others clause
106

 
- Raise_Application_Error
108

 
- Oracle Defined Exceptions
112

 
- Raising User Defined Exceptions
113

 
- Pragma Exceptions in PLSQL
116

 
- Grouping Exceptions in PLSQL
120

 
- Alternative Way to Handle SQL Errors in PLSQL
121

 
- Handling SQL Errors in PLSQL
122

 
- Advanced SQLErrm
124

 
- Exercise Four
125

Eight
Implicit Cursors
128

 
- Using Implicit Cursors in PLSQL
129

 
- Using Implicit Cursors to Select Records
131

 
- Exceptions in Implicit Cursors
132

 
- Attributes of Implicit Cursors
134

 
- SQL%FOUND
135

 
- SQL%NOTFOUND
136

 
- SQL%ROWCOUNT
137

Nine
Sub-Blocking in PLSQL
138

 
- Introduction
139

 
- Defining
140

 
- Re-Raising Exceptions in PLSQL
142

 
- Exercise Five
145

Ten
Explicit Cursors
149

 
- Using Explicit Cursors in PLSQL
150

 
- How Explicit Cursors Work
152

 
- Attributes of an Explicit Cursor
155

 
- Passing Parameters to Explicit Cursors
158

 
- Explicit Cursors Versus Implicit Cursors
161

 
- Exercise Six
162

Eleven
Using Sequences in PLSQL 18c
165

 
- Using Sequences in PLSQL 18c
166

 
- Using Sequences in PLSQL 18c
167

Twelve
Loop Processing
168

 
- Iterative Processing in PLSQL
169

 
- Basic Looping in PLSQL
170

 
- While Looping in PLSQL
174

 
- For Looping in PLSQL
177

 
- Using Dates in For Loops in PLSQL
181

 
- Using Characters in For Loops in PLSQL
182

 
- Implicit Cursor For Looping in PLSQL
183

 
- Explicit Cursor For Looping in PLSQL
186

 
- Using other Loops with Explicit Cursors
188

 
- Loop Labels in PLSQL
191

 
- Loop Continue and Continue When
193

 
- Exercise Seven
197

Thirteen
PL/SQL Database Objects
203

 
- PLSQL Objects
204

 
- Compiling PLSQL Objects
205

 
- Metadata For PLSQL Objects
206

 
- Re-Compiling PLSQL Objects
207

 
- Dropping PLSQL Objects
209

 
- Passing Parameters in PLSQL
210

 
- Passing Parameters using Positional Notation
211

 
- Passing Parameters Using Named Notation
213

 
- Using Mixed Notation in SQL
214

 
- Metadata (User_Source)
216

 
- Describing PLSQL Objects in SQL*PLUS
217

Fourteen
Programmer Defined Functions
218

 
- Syntax of Functions in Oracle
219

 
- Suggested Naming Convention of Functions in Oracle
222

 
- Function Example in PLSQL
223

 
- Running Functions in SQL and PLSQL
225

 
- Running Functions in Oracle
226

 
- Exercise Eight
227

Fifteen
Programmer Defined Procedures
231

 
- Syntax of Procedures in Oracle
232

 
- Example of Procedures in Oracle
234

 
- Executing Procedures in Oracle within SQL Plus
235

 
- Executing Procedures in Oracle within PLSQL
236

Sixteen
Sub-programming Techniques
237

 
- Introduction
238

 
- Example
239

 
- Exercise Nine
241

Seventeen
Autonomous Transactions in PLSQL
244

 
- Introduction
245

 
- Example of an Autonomous Transaction
247

 
- Rollback in Autonomous Transactions
254

 
- Using Autonomous Transactions in Triggers
255

Eighteen
Packaging Programmer Defined Programs
258

 
- Syntax of Packages in Oracle
259

 
- Compiling of Packages in Oracle
264

 
- Private Processes in PLSQL Packages
265

 
- Executing Packages in Oracle
267

 
- Handling Exceptions in Packages in PLSQL
268

 
- Exercise Ten
270

Nineteen
DML Triggers in Oracle
271

 
- Oracle Triggers Introduction
272

 
- DML Triggers Introduction
273

 
- DML Triggers Timing Points
275

 
- DML Triggers When Conditions
276

 
- DML Triggers When Conditions Examples
277

 
- DML Triggers Suggested Naming Conventions
279

 
- Syntax of DML Triggers in PLSQL
281

 
- Referencing Values within Triggers
282

 
- Checking the Event which fired the DML Trigger
286

 
- Checking the Event which fired the DML Trigger
287

 
- Using the Follows syntax to dictate Trigger Firing
288

 
- ORA-25022: cannot reference a trigger of different type
292

 
- Using the Disable syntax when Compiling Triggers
293

 
- Enabling/Disabling Triggers in an Oracle Database
294

 
- Metadata for Triggers (User_Triggers)
296

 
- Mutating DML Triggers in Oracle
297

 
- Exercise Eleven
301

Twenty
Rowtypes in PLSQL
308

 
- Using %Rowtype in PLSQL
309

 
- Declaring a Variable as a %Rowtype
310

 
- Referencing a %Rowtype Variable
311

 
- Populating a Variable which is a %Rowtype
312

 
- Passing a %Rowtype between Processes
315

 
- Declaring a Cursor %Rowtype
317

Twenty One
Advanced Cursors in Oracle 18c
320

 
- For Update with Explicit Cursors
321

 
- Where Current Of Explicit Cursors
322

 
- Example of Updating with Explicit Cursors
323

 
- Using Nowait with Explicit Cursors
324

 
- Using Skip Locked with Explicit Cursors
325

 
- Using Wait with an Explicit Cursor
326

 
- Using Rowid with Explicit Cursors
327

 
- Using Returning Into in PLSQL
328

 
- Using Rowtype for DML
331

Twenty Two
Savepoints in PLSQL
333

 
- Using Savepoints in a PLSQL process
334

 
- Example of Savepoints in a PLSQL process
335

Twenty Three
Case Statements and Case Expressions
336

 
- Introduction
337

 
- Using Searched Case in PLSQL
338

 
- Using Case in PLSQL
339

 
- Using Nested Case in PLSQL
340

 
- Using Case Expressions in PLSQL
342

 
- Using Nullif in PLSQL
346

 
- Using Coalesce in PLSQL
347

 
- Exercise Twelve
348

Twenty Four
File I/O
351

 
- Reading and Writing from the Operating System
352

 
- Accessing the File System using Directories
353

 
- Creating Directories
354

 
- Simple Write using UTL_FILE.PUT_LINE
356

 
- Simple Read Using UTL_FILE.GET_LINE
357

 
- Additional Functions in the UTL_FILE Package
358

 
- Using UTL_FILE.PUTF in PLSQL
359

 
- UTL_FILE Exceptions
361

 
- Using UTL_FILE to perform OS Commands
363

 
- Using UTL_FILE.Fcopy in PLSQL
364

 
- Using UTL_FILE.Fgetattr in PLSQL
365

 
- Using UTL_FILE.Fremove in PLSQL
366

 
- Using UTL_FILE.Frename in PLSQL
367

Twenty Five
Dynamic SQL
368

 
- Introduction to Dynamic SQL
369

 
- Native Dynamic SQL (NDS) with Execute Immediate
370

 
- NDS Error Handling
373

 
- NDS with Inputs
374

 
- NDS with Output
376

 
- Dynamic Cursors and Sys_Refcursor
377

 
- NDS with Outputs
379

 
- Introduction to DBMS_SQL
380

 
- DBMS_SQL Example
381

 
- Exercise Thirteen
382

 
 
 

Sections of Essential PLSQL Oracle 18c

1
PL/SQL Introduction

2
PL/SQL Structure

3
The SQL Plus Interface

4
Performing Simple DML in PLSQL

5
Performing Conditional Statements in PLSQL

6
Communicating from PLSQL

7
Exception Handling

8
Implicit Cursors

9
Sub-Blocking in PLSQL

10
Explicit Cursors

11
Using Sequences in PLSQL 18c

12
Loop Processing

13
PL/SQL Database Objects

14
Programmer Defined Functions

15
Programmer Defined Procedures

16
Sub-programming Techniques

17
Autonomous Transactions in PLSQL

18
Packaging Programmer Defined Programs

19
DML Triggers in Oracle

20
Rowtypes in PLSQL

21
Advanced Cursors in Oracle 18c

22
Savepoints in PLSQL

23
Case Statements and Case Expressions

24
File I/O

25
Dynamic SQL



Synopsis for Essential Oracle 18c PL/SQL training course

Its extended SQL right ? right? Wrong ! PLSQL is a programming language which can stand up against the big boys of C++, Java, PHP etc, what Procedural Language is, is a language specifically designed for use within an Oracle database; having mastered Oracle SQL on one of our other courses (the two days before if you are taking a public course), PLSQL training is the next logical step for a Developer working on an Oracle Database.

What's an Oracle Developer? Well it can be anyone who needs to work on the Oracle Database performing more complex functions on data that SQL on its own cannot provide, maybe moving onto producing front end products or administrating the Database. One thing to be sure you cannot learn PLSQL if you have not already learned SQL.

Why is PLSQL necessary? SQL is a very powerful language, it can create Databases, maintain them, create objects and populate them, at this (and other things) SQL is very good and the most efficient way of dealing with the Database, however SQL does have its limitations; SQL cannot for example loop through tables making decisions with each record it finds, of course expert SQL developers will talk about using inner joins and unions etc but the bottom line is, SQL needs a hand now and again to keep the Database functional, useful and protected.

Protected? When learning SQL you would have come across constraints, the most common of these are indexes, Primary, Unique, Foreign etc … in addition the table creator can create constraints that force a value into a column if a null or nothing has been provided, indeed the very structure of the table will force a column to only accept dates or numbers where specified, however that is the limit of constraints using SQL. If the Developer wishes to limit date of birth to only those born from 2000 onwards then a PLSQL trigger will need to be created, this can be programmed to ensure the date being inserted or updated follows the defined Business rule, triggers are an essential part of this course and the Delegate will learn how to wield them to protect the data.

The PLSQL course starts at the very beginning (to quote Julie Andrews in the Sound of Music), the first thing examined is the basic structure of a PLSQL statement, this will be commonly used for the first day of the course before the Delegate moves on to embedding PLSQL objects such as Functions, Procedures, Packages and Triggers into the Database. Once the basic structure is explained each 'block' in the structure is discussed regarding what can go where and more importantly what errors will occur when the rules are not followed, error handling and communicating with the Database are added and then the Delegate will move onto more interesting topics such as looping through the tables, logic gates in PLSQL and performing rudimentary SQL statements.

Did we say rudimentary SQL statements? Well one of the great secrets of SQL within PLSQL is that SQL statements such as Insert, Update and Delete can be performed within the PLSQL processing block without too much hassle, however SQL commands such as Select, Create etc need a little bit more handling; Select statements are dealt with early in the course when we introduce the cursors; Implicit and Explicit, they are vital to the PLSQL to query on the Database, however creating a new table for example will need Dynamic SQL and we discuss that right at the end of the course (take a look below this synopsis, the index is given for the course).

So for the first day or so we concentrate on the fundamentals of PLSQL, the building blocks for the objects needed in the Database, once these have been covered the course will move onto Functions, Procedures and finally after these Database triggers. SQL developers will already be aware of functions in the Database, this course teaches them how to write and use their own, with the best will in the world Oracle cannot provide Functions which will deal with any type of data value and convert according to the business rules of the Company; an example of this might be checking a postcode against a post town value … the number of Companies we have worked with in the past which have invalid postcodes for a City or vice versa, so create a Function which checks the City for a given postcode … Oracle definitely don’t provide one (we should know we have created an App on iOS and iPhone which not only lists all Oracle database functions, but also gives very comprehensive examples of their usage).

Many delegates will ask what the difference is between a Function and a Procedure, and the major difference is how the User interacts with each one; A Procedure can be viewed as a standalone process one which can be 'kicked off' and left to its own devices, maybe one which correlates productivity or sales on a daily overnight run, a Function would be ideally used to return a value following a request from the User with a provided original piece of data and because it is expected to return a value, a PLSQL function does not provide as much flexibility as a Procedure does … but more of that in the course !! What about Packages? Well they are a way of efficiently storing Functions and Procedures in the Database, grouping together processes which have a common theme or purpose.

Finally the other big PLSQL object in the Database … Triggers … they are event driven pieces of PLSQL, whereas Functions and Procedures need to be called, triggers react to an event taking place on the table they have been created on. These events are an Insert, Update or Delete of data taking place and can be used to validate the data going in and indeed prevent the changes if the changes are against the specified rules, we like Triggers, they are one of the ultimate ways of protecting the valuable data in the Database and form the last line of defence against accidental and wilful SQL skulduggery.

So three days of PLSQL programming, we don’t expect you to remember 100% of the course (especially the syntax) however we like to think you will remember that there is a method to achieve whatever circumstance you need to use PLSQL for and know that our comprehensive manual will have an example of the direction you need to take.

Just a few words about this course, we have already mentioned that we expect a Delegate to have prior knowledge of Oracle SQL before attending the course, this is why on our Public courses in London, Cardiff, Dublin etc (see the whole list off the menu) we convene the two day SQL course on the Monday/Tuesday before the Wednesday start of this course, but in addition be aware that we can come to your offices to give the course, we bring our own workshop equipment and all we need is enough tables and chairs for both the Presenter and the attendees to sit and learn comfortably in.

Request for detailsClick for the contact form for the Oracle Essential PLSQL 18c training course
Public Courses
Oracle Essential SQL 23ai
Days
2
Pages
384
Exercises
8
Sections
17
Public
Yes
On-Site
Yes
Public Courses
Oracle Essential PLSQL 23ai
Days
3
Pages
388
Exercises
13
Sections
25
Public
Yes
On-Site
Yes
Public Courses
Using SQL with Oracle SQL Developer 23.1
Days
5
Pages
1144
Exercises
16
Sections
41
Public
Yes
On-Site
Yes
Public Courses
Essential JavaScript
Days
4
Pages
660
Exercises
16
Sections
31
Public
Yes
On-Site
Yes
Public Courses
Essential CSS 3
Days
4
Pages
800
Exercises
15
Sections
30
Public
Yes
On-Site
Yes
Public Courses
Essential SQLite 3
Days
3
Pages
550
Exercises
12
Sections
24
Public
Yes
On-Site
Yes
Public Courses
Essential MySQL 8
Days
4
Pages
533
Exercises
16
Sections
24
Public
Yes
On-Site
Yes
Public Courses
Essential Python 3
Days
5
Pages
955
Exercises
17
Sections
41
Public
Yes
On-Site
Yes
Public Courses
Oracle Application Express 20
Days
0
Pages
0
Exercises
0
Sections
0
Public
Yes
On-Site
Yes
Public Courses
PHP 8 and MySQL 8
Days
5
Pages
870
Exercises
23
Sections
38
Public
Yes
On-Site
Yes
Public Courses
Java 17 Programming with Eclipse 2021-12
Days
5
Pages
788
Exercises
23
Sections
44
Public
Yes
On-Site
Yes
Public Courses
Java 17 Swing with Eclipse 2021-12
Days
5
Pages
756
Exercises
19
Sections
35
Public
Yes
On-Site
Yes
Click on the course name to see full details, left and right to view other courses