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