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. 

Banner

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.

Banner


The Rust Programming Language, 2nd Ed

Author: Steve Klabnik and Carol Nichols
Publisher: No Starch Press
Date: June 2023
Pages: 560
ISBN: 978-1718503106
Print: 1718503105
Kindle: B0B7QTX8LL
Audience: Systems programmers
Rating: 4.8
Reviewer: Mike James

There's a new edition of what has become the standard text on Rust. Has it matured along with [ ... ]



Machine Learning with PyTorch and Scikit-Learn

Author: Sebastian Raschka, Yuxi (Hayden) Liu & Vahid Mirjalili
Publisher: Packt
Date: February 2022
Pages: 770
ISBN: 978-1801819312
Print: 1801819319
Kindle: B09NW48MR1
Audience: Python developers interested in machine learning
Rating: 5
Reviewer: Mike James
This is a very big book of machine le [ ... ]


More Reviews