I’ve spent the past few train trips to work reading Expert PL/SQL Practices so I thought I’d post a short review of my impressions.
Generally speaking I’m somewhat wary of books that have chapters by different authors. The change of writing style and lack of continuity across the chapters prevents me from “getting into” the book. However, I’m pleased to say that this book is an exception and I found it to be an engrossing read.
Expert PL/SQL Practices covers quite a range of topics. Furthermore, it does not limit itself to covering the programming features of PL/SQL and delves into general development practices within the context of PL/SQL. In this regard it is quite different to other PL/SQL books.
Regarding pure PL/SQL features, there are chapters on set-based processing through SQL, dynamic SQL, bulk operations using PL/SQL, cursors and calling PL/SQL from within SQL. In what’s become the standard for Oracle database books, all chapters go to lengths to explain not only the features themselves but demonstrate why they should be used. Autotrace and TKProf snippets abound to show precisely the advantages of the features.
Complementing the PL/SQL features chapters are chapters on things like unit testing, code analysis, contract-oriented programming, performance profiling, coding standards and more. These are topics that may be found in general programming books but do not often make it into Oracle books. These chapters cover things that Oracle developers need to know beyond the simple application of the PL/SQL language features.
Exactly as the title conveys, Expert PL/SQL Practices is aimed at PL/SQL developer looking to write better code. It’s assumed you are already familiar with the language so it isn’t suitable for novices starting out.
I fully acknowledge that perhaps some of my enthusiasm for this book is based on my approval of the matter presented. I regularly found myself nodding in agreement and only rarely shaking my head in disagreement. My experiences are that too many PL/SQL programmers are unaware of good programming practices so I would rate this book as “highly recommended”.