Oracle PL/SQL By Example, 6th Ed

Author: Elena Rakhimov
Publisher: Oracle Press
Pages: 480
ISBN: 978-0138062835
Print: 0138062838
Audience: Developers interested in Oracle PL/SQL
Rating: 4
Reviewer: Kay Ewbank

This is the sixth edition of a well established title that has been updated for the latest version of PL/SQL (21c).

The book opens with a checklist of the new features in Oracle 21c before the actual opening chapter that introduces PL/SQL concepts - the architecture, development environment, and essential concepts such as substitution variables and the use of the output.put_line statement to display information. As you can tell from the essential concepts, this isn't really a book for beginners; the author a

ssumes you can deal with Oracle's environment, but there again, Oracle itself isn't a beginner's database. 


The next chapter looks at PL/SQL fundamentals - the language components, anchored datatypes, and the scope of variables, blocks, nested blocks and labels. By chapter three, Rakhimov is on to what most people would see as the heart of PL/SQL - the SQL statements and transaction control.

Rakhimov then has chapters on IF and CASE statements, followed by two chapters on loops. The next three chapters deal with error handling and exceptions.

By Chapter 11, Rakhimov has moved on to cursors, with two chapters explaining basic and advanced cursors. The chapter on basic cursors introduces implicit and explicit cursors, table-based and cursor-based record types, cursor For loops and nested cursors. The advanced chapter looks at passing parameters to cursors, cursor variable and expressions, and how to use For Update cursors.

There's a good chapter on triggers that starts from the basics and goes as far as row and statement triggers, and Instead of triggers. This is followed by a chapter on mutating tables and compound triggers.

Collections and records are tackled next, with descriptions of varrays, multidimensional collections, and nested records. This is followed by a chapter titled Native Dynamic SQL that introduces Execute Immediate statements, along with Open For and Fetch statements and how to use them. The concept of bulk SQL, specifically the use of ForAll and Bulk Collect statements to carry out batch processing, is covered next.

Classic SQL procedures and functions are covered well in the next two chapters before Rakhimov moves on to how to create and use packages, collections of procedures, functions and cursors.

There's a chapter on advanced concepts of stored code that introduces subprogram overloading, result cached functions, and invoking PL/SQL functions from SQL statements. This chapter had extensive example code, but I'd have liked to have seen more explanations alongside it.

Two chapters on object types come next, the first introducing object types, the second looking at how to store object types in tables. The book closes with a chapter on the use of dynamic SQL with the DBMS_SQL package as an alternative to native dynamic SQL.

If you're familiar with an earlier edition of the book, it's worth saying that quite a lot of the chapters in this edition have been updated with new labs, code examples and explanations. The more advanced ideas in Oracle 21c, including blockchain tables and machine learning algorithms have also been included.

Overall, the usefulness of this book depends on where you're starting from. It isn't a book for beginners, and while the explanations are clear if you understand the concepts, there are times when they seem to mimic what the documentation says rather than providing more. It covers the main topics you're likely to want to read about if you're learning PL/SQL, but it will be more useful for a developer who already knows how to work with a different SQL server.

Related Reviews

Oracle PL/SQL by Example, 5th Ed

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.


Core Java for the Impatient, 3rd Ed

Authors:  Cay S. Horstmann 
Publisher: Addison Wesley
Pages: 576
ISBN: 9780138052102
Print: 0138052107
Kindle: B0B8RZZBDJ
Audience: Smart programmers wanting in-depth coverage
Rating: 4.8
Reviewer: Mike James

The key to this book is the word "impatient" in the title. What does this m [ ... ]

PHP In Easy Steps, 4th Ed

Author: Mike McGrath
Publisher: In Easy Steps
Date: April 2021
Pages: 192
ISBN: 978-1840789232
Print: 1840789239
Kindle: B08ZSV3MNH
Audience: People wanting to learn PHP
Rating: 4
Reviewer: Ian Elliot
PHP isn't a fashionable language, but this doesn't mean it isn't worth learning.

More Reviews