My Books
I've been a busy fellow. I am so glad I took a touch typing course in High School. I enjoyed that class immensely. I am very competitive, and so I was constantly pushing myself to improve my words per minute. Plus, I think I have always had something of an affinity for thinking like a machine (which is, after all, one way of describing our jobs as programmers: we act as translators between "normal" people and computing devices - because we know how to think like those devices), so doing things repetitively and systematically just feel right (except for factory work).
In any case, the result is a total of ten books on PL/SQL and one book on mySQL, co-authored with my good friend and actual, real computer scientist, Guy Harrison.

Available in:
The definitive reference on PL/SQL, Oracle PL/SQL Programming, Fifth Edition, covers language fundamentals, advanced coding techniques, and best practices for using Oracle's powerful procedural language. Thoroughly updated for Oracle Database 11g Release 2, this edition reveals new PL/SQL features and provides extensive code samples, ranging from simple examples to complex and complete real applications, in the book and on the companion website. Ideal for novices and experienced Oracle programmers alike.

Available in:
The fourth edition of this popular pocket guide provides quick-reference information that will help you use Oracle's PL/SQL language, including the newest Oracle Database 11g features. A companion to Steven Feuerstein and Bill Pribyl's bestselling Oracle PL/SQL Programming, this concise guide boils down the most vital PL/SQL information into an accessible summary.

Available in:
Oracle PL/SQL Best Practices summarizes PL/SQL best practices in nine major categories: overall PL/SQL application development; programming standards; program testing, tracing, and debugging; variables and data structures; control logic; error handling; the use of SQL in PL/SQL; building procedures, functions, packages, and triggers; and overall program performance.

Available in:
MySQL Stored Procedure Programming covers a lot of ground. The book starts with a thorough introduction to stored procedures programming and functions, covering the fundamentals of data types, operators, and using SQL in stored procedures. You'll learn how to build and maintain stored programs -- covering transactions, stored functions, and triggers -- and how to call and use MySQL-based stored procedures in a variety of languages, including PHP, Perl, Python, .NET, and Java. This book, destined to be the bible of stored procedure development, is a resource that no real MySQL programmer can afford to do without.

Available in:
PL/SQL, Oracle's powerful procedural language, has been the cornerstone of Oracle application development for nearly 15 years. Although primarily a tool for developers, PL/SQL has also become an essential tool for database administration. DBAs who have not yet discovered how helpful PL/SQL can be will find this book a superb introduction to the language and its special database administration features. Even if you have used PL/SQL for years, you'll find the detailed coverage in this book to be an invaluable resource.

Available in:
Official description: This concise and engaging guide will give you a jump start on the new PL/SQL features of Oracle8i (Oracle's revolutionary "Internet database"). It covers autonomous transactions, invoker rights, native dynamic SQL, bulk binds and collects, system-level database triggers, new built-in packages, fine-grained access control, calling Java methods from within PL/SQL, and much more. Includes a diskette containing 100 files of reusable source code and examples.
Sure, it's waaaaay out of date. But I am listing it here so can still enjoy the fuss it caused upon publication. I decided to use non-traditional examples. Instead of HR and order entry, I talked about excessive CEO compensation, union busting, war crimes - all sorts of truly inspiring examples. Hmmm. Anyway, lots of people liked it, lots of people hated. Read more about all that here.
