UKUUG home


(the UK's Unix & Open Systems User Group)






Book Discounts

Other Discounts

Mailing lists






Oracle PL/SQL Best Practices Steven Feuerstein
Published by O'Reilly and Associates
202 pages
£ 19.95
Published: 4th May 2001
reviewed by James Youngman
   in the December 2001 issue (pdf), (html)

Oracle PL/SQL Best Practices is a good length for a computer book - 182 pages. Too many computer books these days have many pages and little value.

This book aims to provide a concentrated set of `best practices' for PL/SQL programming. The book includes about 120 separate rules. There is a section at the back which just lists the headlines (i.e. the statements of the recommendations themselves). There is also -- buried in the Preface where only reviewers will see it -- a short-list of the eight most important rules.

The main body of the book is divided into sections: The Development Process, Coding Style and Conventions, Variables and Data Structures, Control Structures, Exception Handling, Writing SQL in PL/SQL, Program Construction, and Built-in Packages.

Each section discusses the best practice in each area and provides a small number of short rules for best practice for that area. Each rule is accompanied by an Example section showing the use of the rule, a Benefits section explaining why this is a good idea, a `Challenges' section which outlines the challenges involved in successfully applying the rule, and a Resources section pointing the reader to related resources (not every rule has one of each section). The structure is well laid out and the text is clear.

Having said this, the book has one unavoidable but significant problem. The people who most need to read it are those who are least inclined. That is, the people who are likely to buy the book are those who have a strong interest in improving the quality of the software they write, and will certainly already have adopted many of these best practices. I'm not suggesting that these people should be seen as contrasted with the rest of the PL/SQL-using world, but the fact is that best-practice recommendations only hit home to people who have been bitten. People don't rave over this sort of stuff unless they are already enlightened about the importance of the material. A similar effect exists with similar books relating to other languages.

The other potential problem with a work like this is that the techniques only work well when everybody on your team follows them. Many of the recommendations are things like `adopt a common approach to ...' which is something that one simply can't do unilaterally. So, don't buy a copy of this book; instead, buy 12 and make everybody on your team read it -- only that way will you get the full benefit of the best practice.

Once you begin to put the recommendations into use, you'll rapidly wish you had a concise list of all the recommendations. One is provided in the back of the book, but the inevitable fate of that section is to be photocopied and pinned to a vertical surface.

I trust that I will not be spoiling the surprise if I whet your appetite by reproducing here -- in order -- the top 8 recommendations (but naturally, not their discussion, examples and associated discussion) :-

SQL-00: Establish and follow clear rules for how to write SQL in your application (see chapter 6).

MOD-01: Encapsulate and name business rules and formulas behind function headers (see chapter 7).

EXC-00: Set guidelines for application-wide error handling before you start coding (see chapter 5).

PKG-02: Provide well-defined interfaces to business data and functional manipulation using packages (see Chapter 8).

MOD-03: Limit execution section sizes to a single page using modularisation (see Chapter 7).

DAT-15: Expose package globals using `get and set' modules (see Chapter 3).

DEV-03: Walk through each other's code (see Chapter 1).

STYL-09: Comment tersely with value-added information (see chapter 2).

These are the headline items, and so will inevitably seem a little facile; many of the remaining 112 rules are detail-packed and thought-provoking. The code examples from the book are available at

Back to reviews list

Tel: 01763 273 475
Fax: 01763 273 255
Web: Webmaster
Queries: Ask Here
Join UKUUG Today!

UKUUG Secretariat
More information

Page last modified 03 Apr 2007
Copyright © 1995-2011 UKUUG Ltd.