This is the latest version of the classic PL/SQL O’Reilly book by Steven Feuerstein. This version includes the latest Oracle Database 12c PL/SQL. This is the 6th edition, I can remember the earlier editions and they were like a bible to us, and always being pulled off the shelf and used as a reference book. The new book is 1.5kg in weight and seems massive with over 1300 pages.
If you’ve never seen this book before and you are an Oracle programmer then you need this book. In this review I don’t want to just tell you what’s in it, as everything is in it. It’s a useful book for both beginner and advanced programmers, because it begins with the basics like PL/SQL code structure and talks about the use of NULLs, if then else statements etc. At the advanced end the book covers DBMS packages, calling external packages and working with Java and C.
If you look at page 11 it will tell you what new features of PL/SQL were added to each version of the Oracle database. On page 12 is a list of the new PL/SQL features in Oracle 12c. This includes the ACCESSIBLE_BY clause, WITH FUNCTION and UDF pragma, and BEQUEATH_CURRENT_USER for views.
Oracle PL/SQL programming is broken down nicely into easy to follow sections. There are lots of code examples to follow. The book does not cover every Oracle DBMS function for example but the book will give you a thorough grounding in PL/SQL programming. The book will even teach you how to debug your code and how to improve its performance.
Many PL/SQL programmers have used this book before, why, because it’s good. You will find yourself reaching for it as a reference title again and again. Even in the internet age, when we usually go straight to a search engine to find answers and Oracle reference documentation you’ll still use this book.
The two appendices give you access to regular expression parameters and a list of number format models.
Introduction to PL/SQL
Creating and Running PL/SQL
Conditional and Sequential control
Iterative processing with loops
Working with program data
Dates and Timestamps
DML and Transaction management
Dynamic SQL and Dynamic PL/SQL
Procedures, Functions and Parameters
Optimising PL/SQL Performance
I/O and PL/SQL
Application Security and PL/SQL
Globalization and Localisation in PL/SQL
Object Orientated Aspects of PL/SQL
Calling Java from PL/SQL