UKUUG home


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






Book Discounts

Other Discounts

Mailing lists






Oracle SQL*Plus: The Definitive Guide, Second Edition Jonathan Gennick
Published by O'Reilly Media
592 pages
£ 28.50
Published: 7th December 2004
reviewed by Harry Newton
   in the June 2005 issue (pdf), (html)

This is the second edition of O'Reilly's SQL*Plus guide, originally published in March 1999.


The 554 pages of the book are divided into fourteen chapters and two appendices. Most of the chapters address specific types of task, the remainder essentially being related to configuration matters.

Introduction to SQL*Plus is exactly what you would expect from its title, giving a little history of the product (surprisingly interesting!), and a description of the database that is used in the book's examples. Command-line SQL*Plus shows you how to navigate in SQL*Plus: entering commands, basic editing, and sending SQL and PL/SQL to the database. Browser-Based SQL*Plus describes the use of iSQL*Plus, but much of this is self-evident.

`A Lightning SQL Tutorial' purports to be a concise introduction to SQL (mainly DML). This was the weakest chapter in the book: I couldn't see the reason for it. The book is a guide to SQL*Plus, and if the reader doesn't have an understanding of SQL, then I can't see why they would be reading it.

`Generating Reports with SQL*Plus' is the heart of the book, getting to the heart of SQL*Plus: reporting. The approach followed is very good: the journey from initial, plain query, to column formatting, to page formatting, and then summary-breakdown is logical and understandable.

`Creating HTML Reports' describes the generation of HTML using the SQL*Plus HTML formatter. This is interesting, and sensibly separated from the previous chapter. `Advanced Reports' follows on from Generating Reports with SQL*Plus: totals, report headers and footers, etc but I can't see the rationale for separating it from the other chapter. `Writing SQL*Plus Scripts' is also about bread and butter SQL*Plus use: scripting. I consider this to be the strongest of the chapters; it is concise and well constructed.

`Extracting and Loading Data' is another strong chapter. It describes the generation of CSV files with the standard reporting techniques, and the use of SQL*Loader to import data to the database. There is also a discussion on the use of external tables to load data. None of this is SQL*Plus specific, but it is useful, it does illustrate the use SQL*Plus, and it fits in with the approach of using SQL*Plus to do common tasks.

`Exploring Your Database' is an interesting chapter. It basically describes the approach to finding the structure of the database objects (DESCRIBE and the data dictionary). It doesn't of course really belong in a book on SQL*Plus, but the author uses it to illustrate some of the reporting and scripting techniques he has already described. `Advanced Scripting' continues from `Writing SQL*Plus Scripts' and like the advanced reporting chapter, should not really be split from its predecessor. This is another strong chapter: the discussion of bind variables, and their relation to substitution variables is very clear.

`Tuning and Timing' presents the features of SQL*Plus that assist in SQL statement optimisation: the timers, and the auto trace facility. It also has very good material on the explain plan, and optimisation based on the explain plan results. This isn't SQL*Plus specific, but it is useful, and it fits in, like the previous two chapters, with the ethos of the book, if not the exact title. The Product User Profile returns to genuine SQL*Plus material. I suspect the product user profile functionality of SQL*Plus (a mechanism for restricting SQL*Plus commands by user) is not well known, and this is a brief description of the functionality. `Customising Your SQL*Plus Environment' is the last chapter. The two appendices are on SQL*Plus Command Reference and SQL*Plus Format Elements.

Differences from the First Edition

The book has been updated to cover the developments in Oracle over the five years since the publication of the first edition, specifically Oracle 9i and Oracle 10g, the first edition going to Oracle 8i. There are new chapters on iSQL*Plus, generation of HTML reports, and primer on SQL. There is another new chapter, Advanced Reports, but this is a very slight expansion of part of the material in the Generating Reports with SQL*Plus chapter of the first edition, the equivalent in the new edition having been slimmed down. One chapter has been removed: Administration with SQL*Plus. My preference would have been to retain this at the expense of the Lightning SQL Tutorial.

Should I buy it? Should I buy it if I have the first edition?

People tend to have scanty knowledge of SQL*Plus, often using just a fraction of its functionality. Typically it is used to load PL/SQL code from file and accept elementary queries. This is a waste as one can do many things rapidly with the tool, and it deserves to be better utilised. If you use Oracle a lot, then I would recommend that you get more familiar with SQL*Plus. Whilst I was reading the book in preparation for this review, I found many things that I had either forgotten or never known. This book is one of the few on the subject: has two others, both of which appear to be more elementary.

If you have the first edition then the decision rests on how useful you will find the chapter on HTML generation, and how inconvenient you will find the loss of the Administration with SQL*Plus chapters. The Lightning SQL Tutorial will most likely be read once by most people, as will the iSQL*Plus chapter. I thought the book did well when the author offered his experience in using the tool, and in the task-based layout. It did less well in some of the ponderous tutorial explanations.

Before you do buy it though, remember Oracle's documentation. The SQL*Plus User's Guide and Reference for 9.2 runs to roughly the same number of pages as this book. It costs a little less than this book of course. And do not forget the SQL*Plus help command!

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 02 Apr 2007
Copyright © 1995-2011 UKUUG Ltd.